我试图用我自己的视图覆盖状态栏并且这样做我通过做类似的事情(也在轮换之后)为我的视图计算框架:
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构建我的应用程序时,在横向或颠倒启动应用程序时出现问题(如果应用程序以纵向方式启动,则工作正常)...
即。当我在颠倒时启动应用程序时,应该覆盖状态栏的自定义uiwindow将始终位于屏幕的底部,任何想法可能出错?
答案 0 :(得分:0)
如果没有其他信息,最佳解决方案就是隐藏状态栏。如果您仍然希望“状态栏”用于动画目的或其他原因,则此方案中的典型解决方案是通过调用来模拟它
- (UIView *)snapshotViewAfterScreenUpdates:(BOOL)afterUpdates
上的 UIScreen
并使用返回的视图作为您要呈现的任何视图/窗口的背景。从iOS 9开始,没有一种公共方法可以让你获得你指定的特定行为。