隐藏/显示状态栏

5
我正在开发一款iPhone应用程序,它可以从表视图切换到全屏横向视图(类似于YouTube应用程序)。当这样做时,我希望隐藏状态栏,然后在切换回表视图时再显示它。我正在使用setStatusBarHidden,但这似乎只是隐藏了状态栏而没有扩大屏幕区域;状态栏所在的位置仍然有一个空白栏。如果在Info.plist中设置隐藏状态栏属性,则可以获得扩大的屏幕区域,但当状态栏显示时,它会覆盖视图。
如何以这样的方式隐藏状态栏,使得在隐藏时整个屏幕都可用于我的视图,在显示时仅显示状态栏下面的屏幕?
谢谢您。
Craig
PS:我从应用程序讨论中复制/编辑了此问题,没有找到好的解决方案。 http://discussions.apple.com/thread.jspa?threadID=1580662&start=15&tstart=0
2个回答

11

1
如果有人在上述解决方案不起作用的情况下仍然存在令人讨厌的蓝色20像素间隙,请尝试将此代码放入您想要隐藏状态栏的视图控制器的实现文件中的viewWillAppear方法中。
self.navigationController.navigationBar.frame = CGRectOffset(self.navigationController.navigationBar.frame, 0.0, -20.0);

我花了大约12个小时才解决了这个问题,而这就是解决方案,所以现在我正在传播这个消息,以防其他人也遇到这个烦人的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接