隐藏/显示状态栏

时间:2009-09-15 22:00:35

标签: iphone

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

如何隐藏状态栏,使得我的视图在隐藏时可以使用全屏,而只显示状态栏下的屏幕?

TIA。

克雷格

PS:我从应用讨论中复制/编辑了这个问题。找不到好的解决方案 http://discussions.apple.com/thread.jspa?threadID=1580662&start=15&tstart=0

2 个答案:

答案 0 :(得分:11)

您的视图控制器应将wantsFullScreenLayout设置为YES,并隐藏状态栏:请参阅UIViewController reference

答案 1 :(得分:1)

如果有人在寻找上述解决方案不起作用的解决方案(并且顶部仍然存在恼人的蓝色20px间隙),请尝试将此放在视图控制器的实现文件上的viewWillAppear中就像要隐藏的状态栏一样。

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

字面上花了我12个小时左右来修复,这就是解决方案,所以现在我正在传播这个词以防万一其他人有这个恼人的问题。