问题:
在横向模式播放视频后,导航栏处于状态栏下方.
应用程序:
>仅限iOS9.
>仅支持肖像模式.
>视图控制器上有一个网页视图,网页视图将打开一个YouTube链接
>视图控制器嵌入到导航控制器中
设置重现:
>在webView中播放视频,
>将设备置于横向模式.
>以横向模式关闭视频播放,应用程序可以追溯到纵向模式
导航栏位置错误
截图:
>应用程式打开时
>播放器视频和放置设备在风景
>问题
解决方法
Swift 3
在呈现视图控制器中,将prefeRSStatusBarHidden属性替换为仅在状态栏中隐藏状态栏.
override var prefeRSStatusBarHidden: Bool { return UIApplication.shared.statusBarOrientation.isLandscape }
然后在设备旋转时添加一个观察者.
override func viewDidLoad() { super.viewDidLoad() NotificationCenter.default.addObserver(self,selector: #selector(videoDidRotate),name: .UIDeviceOrientationDidChange,object: nil) }
在观察者的方法中,调用setNeedsStatusBarAppearanceUpdate:
func videoDidRotate() { self.setNeedsStatusBarAppearanceUpdate() }
应该这样做