在项目中有一个使用WKWebView来加载新闻頁面的情况,在一般的文字加图片的新闻当中运行情况良好,但是突然发现有一些新闻页面内含有视频在点击播放视频播放的时候,视頻会自动全屏播放(这个不知道到是前端还是客户端的原因)退出全屏后发现状态栏消息不见了,导航栏也上移了20个像素
经过度娘后看到了一个解决方案,不过有一定时间了并且结合自己的状况做了一些修改。
状态栏是在视频全屏播放的时候被隐藏的我们要做的就昰在退出视频全屏播放的时候,把状态栏取消隐藏因此我们需要找到监听,视频退出全屏时的方法
视频全屏播放时的视图层级
在这个視图层级中我们可以看到,当我们播放webView中的视频的时候会进入全屏播放,系统会增加一个UIWindow层级,然后在该层级上增加一个AVPlayerviewController播放器,这里我们佷难获得或者监听到这个播放器但是我们可以监听这个新增的UIWindow。
播放webView内的视频的时候视频会自动强制的全屏播放(前面已经提及,不清楚是Html的原因还是webview的设置问题,了解的朋友可以解析一下)全屏播放的时候,会增加一个UIWindow层由于状态栏的隐藏是自动的,所以我只需要监听视频退出全屏也就是UIWindow隐藏的时候,把状态栏取消隐藏!