iOS WebView中视频横屏播放返回导航栏在状态栏下面
2018-10-16 13:44
1411 查看
iOS9以上系统横屏播放UIWebView中的视频返回后会出现以下问题:
1、如图,UIWebView中包含一个视频:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201912/09/911d8a0475a255d57072f740919a1b68.png)
2、播放web内容中的视频,并横屏观看:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201912/09/2d113e23922957c7cb6a8de6e2f5e4f7.png)
3、直接在横屏状态下返回,会出现状态栏盖在导航栏上面,导航栏位置错误的问题:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201912/09/029640c1eed83b2e3866a6cfadad0789.png)
解决方法:
参照navigation bar under status bar after video playback in landscape mode的解决方法,Objective-C代码如下:
1、重载prefersStatusBarHidden方法:
- (BOOL)prefersStatusBarHidden { return UIInterfaceOrientationIsLandscape([UIApplication sharedApplication].statusBarOrientation); }
2、监听屏幕旋转:
- (void)viewDidLoad { [super viewDidLoad]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(videoDidRotate) name:UIDeviceOrientationDidChangeNotification object:nil]; }
3、调用setNeedsStatusBarAppearanceUpdate:
- (void)videoDidRotate { [self setNeedsStatusBarAppearanceUpdate]; }
4、记得移除监听事件。
作者:kingzv
链接:https://www.jianshu.com/p/80ec9f9fe178
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
相关文章推荐
- android webview: 视频全屏播放按返回页面被放大的问题
- WebView加载h5页面播放音乐或视频 返回,按锁屏键,按home键 播放不停止问题
- iOS 视频播放横屏,隐藏状态栏
- IOS webView播放视频时进入页面自动播放的问题
- 同事写的当webview里有视频时 横屏观看后状态栏异常的处理方法
- iOS WKWebView 加载进度条、导航栏返回&关闭 (Swift 4)
- 菜鸟学android——webview播放网络视频,由竖屏转换为横屏全屏播放
- 使用webview播放视频,全屏状态下适应横屏播放
- Android WebView 真正播放视频 全屏 横屏播放
- ios webview 只能播放带域名的视频连接好奇怪!
- ios 使用webview播放视频需注意
- iOS WKWebView 退出后停止播放音频/视频
- iOS 全局禁止横屏,但UIWebView 全屏横屏播放视频的解决办法
- webView视频播放
- $ webview html5 自动播放视频 $
- android webview——webview播放音频/视频的问题
- 整理webView控件加载H5网页中视频播放不了的解决方案
- android webview无法播放视频
- ios navigationcontroller 滑动返回与webview加载html图片自适应屏幕宽度
- iOS项目开发中 webView 服务器返回来一堆不标准的html 语言 处理办法