我有一个纵向 iPhone 应用程序,它有一个隐藏的导航栏来控制 View 之间的流动。在一个 View 中,我需要将 View 旋转 90 度为横向,并且我想隐藏状态栏。
问题在于,虽然状态栏被正确隐藏,但它会在状态栏所在的屏幕顶部留下一个空的浅蓝色栏。我的 View 实际上位于此栏下方,充满了屏幕。
我尝试过使用 View 的大小,但它已经设置为屏幕的完整大小。看来这个蓝色条在我的视野之上。
会不会是因为我把导航栏和状态栏都隐藏了?
任何帮助,非常感谢。
邓克
如果您使用的是隐藏导航栏的 UINavigationController(UINavigationBar 自己什么都不做),那么您需要在窗口中调整 导航 Controller 的框架,而不是框架您的 View Controller 在导航 Controller 中的 View 。这是您的 View 层次结构:
window (root view)
- statusBar
- navigation controller's view
- view controller's view
当你隐藏状态栏时在你的 View Controller 中试试这个:
[[[self navigationController] view] setFrame:[[UIScreen mainScreen] bounds]];
或者,如果你想使用窗口的框架:
[[[self navigationController] view] setFrame:[[[UIApplication sharedApplication] keyWindow] bounds]];
关于objective-c - 隐藏 UIStatusBar 在屏幕上留下空的蓝色条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7209475/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |