ZFPlayer iOS16 系统横屏全屏问题处理
iOS16 以后 通过原始横屏的方法已经不好使了,需要在此基础上添加 setNeedsUpdateOfSupportedInterfaceOrientations 方法的调用,具体API 描述如下:
回到主题,在使用ZFPlayer 视频库全屏播放时iOS16系统下的处理参考如下:
//进入全屏播放事件
self.player.orientationWillChange = {[weak self] (player,isFullScreen) inguard let self = self else { return }if isFullScreen {var _title = self.model?.title ?? ""if self.model?.authorize == 0 {_title += "(试看\(Int(Setting.shareInstance.K_APP_TRY_WATCH_INTERVAL/60))分钟)".replacingOccurrences(of: "\r", with: "")}if self.isVertical {self.controlView.portraitControlView.showTitle(_title, fullScreenMode: .portrait)}else{self.isAutorotate = trueself.faceOrientation = .landscapeRightif #available(iOS 16.0, *) {//横屏self.setNeedsUpdateOfSupportedInterfaceOrientations()self.player.addPlayerView(toContainerView: UIApplication.shared.windows.first!)} else {// Fallback on earlier versionsself.player.containerView = UIApplication.shared.windows.first!}self.controlView.landScapeControlView.showTitle(_title, fullScreenMode: .landscape)}}
}//MARK: - 设备方向处理
extension StudyCourseDetailsViewController {override var shouldAutorotate: Bool {get {return self.isAutorotate}}override var supportedInterfaceOrientations: UIInterfaceOrientationMask {get {return self.faceOrientation}}}
退出全屏的方法,无需调整,具体参考如下:
//退出全屏被点击(全屏返回按钮被点击)
self.playerControlView.backBtnClickCallback = {[weak self] inguard let self = self else { return }if self.isVertical == false {self.isAutorotate = falseself.faceOrientation = .portraitself.player.rotate(to: .portrait, animated: true) {print("已返回小屏")}self.player.containerView = self.videoPlayerView}self.player.enterFullScreen(false, animated: true)
}
更多关于iOS16 兼容性处理,参考:XCode14 & iOS16 适配问题汇总
ZFPlayer iOS16 系统横屏全屏问题处理相关推荐
- Android 横屏+全屏
横屏: 1.在mainfest.xml上加: 你所指定的activity中加上android:screenOrientation属性 "unspecified":默认值 由系统来推 ...
- Mac osx系统中virtual box 中的Ubuntu系统的全屏显示问题解决
Mac osx系统中virtual box 中的Ubuntu系统的全屏显示问题解决 一 安装virtualBox工具 安装失败 其他尝试方法 一 安装virtualBox工具 选择Insert Gue ...
- Android VideoView播放 项目中的 视频文件 自动横屏 全屏播放
记录最近遇到的一个android播放视频的需求: APP主页上方有一个操作演示字样的入口,点击后开始播放一段视频,视频文件是放在工程里的. 话说以前还没做过类似播放视频的功能,根据以往的经验来看,最简 ...
- 解决魅族17横屏全屏会有白边问题
问题描述:魅族17横屏显示时,右侧导航栏会出现白色 在Android P版本中,通过DisplayCutout 类,可以确定非功能区域(刘海屏)的位置和形状 使用layoutInDisplayCuto ...
- Cocos Creator safari浏览器横屏全屏如何隐藏地址栏?
safar浏览器中只有一个Creator网页,横屏后会自动全屏, 但是如果有多个网页,Creator网页横屏后safar浏览器无法全屏.关于此问题,解决文案如下,供大家参考 一.将项目打包,找到打包出 ...
- windows7 系统游戏全屏显示
有很多朋友在玩游戏的时候,在w7系统下都会出现不是全屏的显示,就算打开全屏显示也是,那就可以时一下下面的方法: 1,windows+r 输入regedit 打开注册表,找到以下参数 HKEY_L ...
- Vm下设置系统显示全屏
由于经常使用vm下的linux中的操作,每次操作都是持续一段时间,要是装双系统,切换又不方便,所以使用vm中的linux系统的时候,希望能够全屏,就像硬盘安装中一样 步骤: 1. 安装VMT ...
- 在VMware上装苹果系统后全屏
2019独角兽企业重金招聘Python工程师标准>>> 虚拟机装完苹果会发现分辨率只有一个,不能全屏,看起来很别扭,这时需要tool来引导下就能全屏了 工具/原料 darwin.is ...
- 移动端echarts点击全屏按钮横屏全屏展示
在遮罩层显示全屏图表 <div class="fullScreen"><van-overlay lock-scroll :show="isFull&qu ...
最新文章
- 网页制作之JavaScript部分3--事件及事件传输方式(函数调用 练习题 )重要---持续更新中...
- rejection from Cambridge Machine Learning and Machine Intelligence MPhil
- java参数传入泛型类型_Java泛型参数界定到任何一个类型的范围
- OpenCV之图像的遮挡与切分、合并(笔记06)
- Excel比较工具SpreadSheet
- Cloud Container Service experimentation
- s5p4418安卓系统适配fpc8563芯片遇到的问题及解决
- python 规则引擎 drools_Drools 规则引擎环境搭建
- This Week in Spring - July 9, 2013
- 脚本--给win10下载的哔哩哔哩视频进行重命名
- AutoSar CAN网络管理状态机理解
- Linux 下使用 sem_t 有名信号量的注意事项
- 金融行业必看20部电影
- 微信支付应用签名大小写、errorCode=-6,errorCode=-1
- 日语中那些表示复数概念的表达方式
- 最新联发科MTK射频芯片资料集锦
- html5音乐和歌词同步,HTML5实现歌词同步
- LCD1602 通过转接板 i2c显示
- 回归本质,虚拟资源如何利用电商平台,0成本挂机也能月入过万
- 云加速——主机安全软件