我有一个肖像 iPhone 应用程序,它是一个隐藏的导航栏,用于控制视图之间的流动。在一个视图中,我需要将视图旋转 90 度为横向,并且我想隐藏状态栏。
问题是,虽然状态栏被正确隐藏,但它会在状态栏所在的屏幕顶部留下一个空的浅蓝色栏。我的视图实际上位于此栏下方,充满了屏幕。
我尝试过使用视图的大小,但它已经设置为屏幕的完整大小。看来这个蓝色条在我的视野之上。
难道是因为我隐藏了导航栏和状态栏?
任何帮助,非常感谢。
邓克
我有一个肖像 iPhone 应用程序,它是一个隐藏的导航栏,用于控制视图之间的流动。在一个视图中,我需要将视图旋转 90 度为横向,并且我想隐藏状态栏。
问题是,虽然状态栏被正确隐藏,但它会在状态栏所在的屏幕顶部留下一个空的浅蓝色栏。我的视图实际上位于此栏下方,充满了屏幕。
我尝试过使用视图的大小,但它已经设置为屏幕的完整大小。看来这个蓝色条在我的视野之上。
难道是因为我隐藏了导航栏和状态栏?
任何帮助,非常感谢。
邓克
如果您使用隐藏导航栏的 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]];