带有UIWindowLevelStatusBar的窗口+;1在iOS 8上隐藏状态栏

带有UIWindowLevelStatusBar的窗口+;1在iOS 8上隐藏状态栏,ios,ios8,uiwindow,uistatusbar,Ios,Ios8,Uiwindow,Uistatusbar,我一直在添加状态栏的控制台窗口: 通过将其windowLevel设置为UIWindowLevelStatusBar+1直到iOS 7.x(屏幕截图),这项功能一直运行良好 在iOS 8上,相同的代码使状态栏消失,并将导航栏向上偏移。我尝试了几个不同的窗口水平没有运气 我在许多项目中使用了该库,并注意到当还显示级别为UIWindowLevelAlert的“PopUpWindow”时,状态栏确实会显示出来。 因此,一个可能的解决方案是在那里添加一个模拟窗口,但这显然是脏的。尝试在UIWindow的

我一直在添加状态栏的控制台窗口:

通过将其
windowLevel
设置为
UIWindowLevelStatusBar+1
直到iOS 7.x(屏幕截图),这项功能一直运行良好

在iOS 8上,相同的代码使状态栏消失,并将导航栏向上偏移。我尝试了几个不同的窗口水平没有运气

我在许多项目中使用了该库,并注意到当还显示级别为
UIWindowLevelAlert
的“PopUpWindow”时,状态栏确实会显示出来。
因此,一个可能的解决方案是在那里添加一个模拟窗口,但这显然是脏的。

尝试在UIWindow的根视图控制器上实现
-preferssStatusBarHidden
方法。为我工作。

如果您将级别设置为“状态栏”+1,它应该覆盖状态栏。您专门将级别设置为高于状态栏。是。这就是我打算做的。状态栏仍然存在,您仍然可以在其中“点击滚动到顶部”,更重要的布局和导航栏可以正确定位。不过,这与iOS 8不符。很好,它成功了,谢谢!出乎意料的是,默认实现已经返回了
NO
。即使key和statusBar+1窗口都覆盖了其RootViewController的prefersStatusBarHidden以返回NOAA,但在iOS9上对我来说不起作用,我收回了这一点。我的问题是状态栏下面的黑色背景。添加一个新窗口将状态栏颜色更改为黑色,看起来就像消失了一样。实现
preferredStatusBarStyle
修复了这一问题。