iOS WebView中視頻橫屏播放返回導航欄在狀態欄下面

iOS9以上系統橫屏播放UIWebView中的視頻返回後會出現如下問題:
一、如圖,UIWebView中包含一個視頻:web

 
1

二、播放web內容中的視頻,並橫屏觀看:
 
2

三、直接在橫屏狀態下返回,會出現狀態欄蓋在導航欄上面,導航欄位置錯誤的問題:
 
3

解決方法:
參照 navigation bar under status bar after video playback in landscape mode的解決方法,Objective-C代碼以下:
一、重載prefersStatusBarHidden方法:

 

- (BOOL)prefersStatusBarHidden { return UIInterfaceOrientationIsLandscape([UIApplication sharedApplication].statusBarOrientation); } 

二、監聽屏幕旋轉:ide

- (void)viewDidLoad { [super viewDidLoad]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(videoDidRotate) name:UIDeviceOrientationDidChangeNotification object:nil]; } 

三、調用setNeedsStatusBarAppearanceUpdate:ui

- (void)videoDidRotate { [self setNeedsStatusBarAppearanceUpdate]; } 

四、記得移除監聽事件。spa

做者:kingzv 連接:https://www.jianshu.com/p/80ec9f9fe178 來源:簡書 簡書著做權歸做者全部,任何形式的轉載都請聯繫做者得到受權並註明出處。
相關文章
相關標籤/搜索