objective-c – iOS9覆盖状态栏,带有自定义uiwindow – 错误的位置

前端之家收集整理的这篇文章主要介绍了objective-c – iOS9覆盖状态栏,带有自定义uiwindow – 错误的位置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图用我自己的视图覆盖状态栏并且这样做我通过做类似的事情(也在旋转之后)为我的视图计算框架:
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将始终位于屏幕的底部,任何想法可能出错?

解决方法

如果没有其他信息,最好的解决方案就是隐藏状态栏.如果您仍然希望“状态栏”用于动画目的或其他原因,则此方案中的典型解决方案是通过调用来模拟它

– (UIView *)snapshotViewAfterScreenUpdates:(BOOL)afterUpdates on UIScreen

并使用返回的视图作为您要呈现的任何视图/窗口的背景.从iOS 9开始,没有公共方法可以让您获得指定的特定行为.

原文链接:https://www.f2er.com/c/118448.html

猜你在找的C&C++相关文章