2014-10-02 108 views
6

我一直在增加状态栏的控制台窗口on top:通过设置其windowLevelUIWindowLevelStatusBar + 1最多的iOS窗口与UIWindowLevelStatusBar + 1隐藏状态栏上的iOS 8

enter image description here

这已经伟大的工作7.x(截图)。

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

我在许多项目中使用了库,并注意到当显示UIWindowLevelAlert级别的“PopUpWindow”时,状态栏也显示出来。 所以一个可能的解决方案是在那里添加一个模拟窗口,但这将是简单的肮脏。

+0

如果您将级别设置为“StatusBar”+ 1,它应该覆盖状态栏。您特别将级别设置为高于状态栏。 – rmaddy 2014-10-02 04:32:24

+0

是的。这就是我想要做的。状态栏仍然存在,您仍然可以“点击滚动到顶部”的区域,更重要的布局和导航栏可以正确定位。然而,这与iOS 8打破。 – Rivera 2014-10-02 05:33:38

回答

6

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

+0

嗯,它的工作表示感谢!因为默认实现已经返回“NO”,所以超出意料之外。 – Rivera 2014-11-04 01:44:53

+0

即使键和statusBar + 1窗口的rootViewController的首选项StatusBarHidden被覆盖以返回NO – burax 2016-01-01 20:54:49

+0

Aaand,我也不会在iOS9上为我工作。我的问题是状态栏下方的黑色背景。添加一个新窗口将状态栏颜色改为黑色,看起来好像它消失了。实现'preferredStatusBarStyle'修复了这个问题。 – burax 2016-01-02 11:46:55