我有一个人像iPhone应用程序,它有一个隐藏的导航栏控制视图之间的流量。在一个视图中,我需要将视图旋转90度到横向,我想隐藏状态栏。
问题是,当状态栏被正确隐藏时,它会在状态栏所在的屏幕顶部留下一个空的浅蓝色条。我的观点实际上位于此栏下,填满了屏幕。
我尝试过使用视图的大小,但它已经设置为屏幕的完整大小。这个蓝色条似乎超出了我的观点。
可能是因为我隐藏了导航栏和状态栏吗?
任何帮助,非常感谢。
Dunc
答案 0 :(得分:3)
如果您正在使用隐藏导航栏的UINavigationController(UINavigationBar本身不执行任何操作),则需要在窗口中调整导航控制器的框架,而不是框架视图控制器在导航控制器中的视图。这是您的视图层次结构:
window (root view)
- statusBar
- navigation controller's view
- view controller's view
隐藏状态栏时在视图控制器中尝试此操作:
[[[self navigationController] view] setFrame:[[UIScreen mainScreen] bounds]];
或者,如果你想使用窗口的框架:
[[[self navigationController] view] setFrame:[[[UIApplication sharedApplication] keyWindow] bounds]];