iOS12网页视频播放点击全屏按钮会导致闪退

简介: iOS12网页视频播放点击全屏按钮会导致闪退

最近在app中有一个h5界面,是一个视频播放的列表,然后在iOS12的手机上发生了如下几个问题:

第一,自动全屏播放,这个问题历来就有,很好解决;

第二,全屏后取消全屏,状态栏消失;

第三,多个视频间来回点全屏按钮导致app崩溃闪退;


以上三个问题,我们下面一一来说明:


1.自动全屏播放,历来如此,想要解决也很简单:


         

同时在app中对webview设置一个属性:


         

这样,视频在开始播放的时候就不会自动全屏了。


2.全屏后退出全屏,状态栏消失


这个问题在iOS12以下的手机中都不存在,推测应该也是iOS12 做出的新改变或者bug,解决办法在webview所在的ViewCOntroller中调用下面的方法:


         

调用的时候最好这么写:


         

调用方法可以写在viewDidLoad中。


3.切换点击几个视频的全屏按钮导致崩溃


这是我们要着重说的一个问题,经试验,iOS12以下手机不会崩溃,很明显,这是一个iOS12的bug,目前无法处理,想了几个方案:


i)不允许多个视频处于播放暂停状态,退出全屏后,恢复初始状态,但是需要h5去监听这个状态来做处理,不知道h5能不能兼听到,如果监听不到,就用上面iOS的兼听通过JS告诉h5来做处理;


ii)禁止全屏,并在播放期间隐藏全屏按钮,音量按钮,进度条,暂定播放这些按钮。前提是你的视频不需要全屏显示处理方法是 video 元素上不能写 controls 特性。


如果你有更好的方法来解决这个崩溃问题,欢迎一起探讨。


更新:发现使用WKWebView的时候不会崩溃。

目录
相关文章
|
iOS开发
iOS MFMessageComposeViewController不显示取消按钮,导航条上白色,无取消按钮,无法返回应用...
iOS MFMessageComposeViewController不显示取消按钮,导航条上白色,无取消按钮,无法返回应用...
83 0
|
1月前
|
JavaScript 前端开发 iOS开发
ios样式开关按钮jQuery插件
ios样式开关按钮jQuery插件
54 7
|
4月前
|
iOS开发
iOS超出父控件范围无法点击问题
iOS超出父控件范围无法点击问题
149 58
|
2月前
|
Swift iOS开发 UED
如何使用Swift和UIKit在iOS应用中实现自定义按钮动画
本文通过一个具体案例,介绍如何使用Swift和UIKit在iOS应用中实现自定义按钮动画。当用户点击按钮时,按钮将从圆形变为椭圆形,颜色从蓝色渐变到绿色;释放按钮时,动画以相反方式恢复。通过UIView的动画方法和弹簧动画效果,实现平滑自然的过渡。
81 1
|
3月前
|
Swift iOS开发 UED
如何使用Swift和UIKit在iOS应用中实现自定义按钮动画
【10月更文挑战第18天】本文通过一个具体案例,介绍如何使用Swift和UIKit在iOS应用中实现自定义按钮动画。当用户按下按钮时,按钮将从圆形变为椭圆形并从蓝色渐变为绿色;释放按钮时,动画恢复原状。通过UIView的动画方法和弹簧动画效果,实现平滑自然的动画过渡。
69 5
|
4月前
|
iOS开发
iOS超出父控件范围无法点击问题
iOS超出父控件范围无法点击问题
|
8月前
|
iOS开发
SwiftUI适配iOS16导航控制器引起的闪退
SwiftUI适配iOS16导航控制器引起的闪退
85 0
|
8月前
|
iOS开发
iOS13.6.1系统XR手机图文按钮显示不全问题
iOS13.6.1系统XR手机图文按钮显示不全问题
81 0
|
8月前
|
监控 iOS开发
iOS15适配问题:viewForSupplementaryElementOfKind表头和表尾复用闪退,UITableView section header多22像素等问题
iOS15适配问题:viewForSupplementaryElementOfKind表头和表尾复用闪退,UITableView section header多22像素等问题
125 0
|
8月前
按钮的image图片是非圆角,直接对UIButton设置圆角,iOS13系统没有圆角效果的问题及解决方案
按钮的image图片是非圆角,直接对UIButton设置圆角,iOS13系统没有圆角效果的问题及解决方案
59 0

热门文章

最新文章