2009-09-15 192 views
5

我正在开发从桌面视图切换到横向全屏视图(类似于YouTube应用)的iPhone应用。当它这样做时,我想隐藏状态栏,然后在切换回表格视图时再次显示它。我正在使用setStatusBarHidden,但似乎隐藏状态栏将不放大屏幕区域;在状态栏所在的位置还有一个空白栏。如果在Info.plist中设置隐藏的状态栏属性,那么我会得到放大的屏幕区域,但是当状态栏显示时,它会覆盖视图。隐藏/显示状态栏

如何隐藏状态栏,使其全屏幕在隐藏状态下可用于我的视图,并且在状态栏显示时仅显示状态栏下的屏幕?

TIA。 PS:我从应用程序讨论中复制/编辑这个问题。没有找到好的解决办法 http://discussions.apple.com/thread.jspa?threadID=1580662&start=15&tstart=0

回答

11

您的视图控制器应该有wantsFullScreenLayout设置为YES,以及隐藏状态栏:参见UIViewController reference

+0

感谢您的快速响应。现在试试。 – angrysword 2009-09-15 22:08:47

+0

是的,它的工作原理,谢谢 – angrysword 2009-09-17 21:01:14

1

如果有人在寻找上述解决方案无法工作的解决方案(并且顶部仍然存在一个令人讨厌的蓝色20px间隙),请尝试将其置于视图控制器的实现文件的viewWillAppear中想要隐藏状态栏。

self.navigationController.navigationBar.frame = CGRectOffset(self.navigationController.navigationBar.frame, 0.0, -20.0); 

,从字面上我花了12个小时,以便修复,这是解决办法,所以我现在蔓延的情况下,任何人这个词有这个恼人的问题。