【发布时间】:2015-10-13 09:56:30
【问题描述】:
我正在尝试用我自己的视图覆盖状态栏,为此我通过执行类似操作(也在旋转之后)为我的视图计算框架:
UIScreen *screen = [UIScreen mainScreen];
CGRect statusBarFrame = [UIApplication sharedApplication].statusBarFrame;
对于 iOS8+(因为 ios8 UIScreen 是方向相关的):
CGRect frame = [screen.coordinateSpace convertRect:statusBarFrame toCoordinateSpace:screen.fixedCoordinateSpace];
[self setFrame:frame];
对于 iOS7:
[self setFrame:statusBarFrame];
它适用于 iOS8 及更低版本,但在使用 Xcode 7 beta 4 和 iOS 9 SDK 构建我的应用程序时,在横向或倒置启动应用程序时出现问题(如果应用程序以纵向启动,它工作正常)...
即。当我在 Upsidedown 时启动应用程序时,应该覆盖状态栏的自定义 uiwindow 将始终位于屏幕底部,有什么想法可能是错误的吗?
【问题讨论】:
-
rushelmet,还没有:(
-
我明白了在状态栏上方设置视图以使用那里的空间而不覆盖整个状态栏的原因。但是当你想覆盖整个状态栏的时候,为什么不干脆把状态栏隐藏起来,用简单的约束把自己的视图固定在顶部呢?
标签: objective-c ios9 statusbar uiwindow uiscreen