ios – 带自定义播放器控件的AVPLayer全屏

前端之家收集整理的这篇文章主要介绍了ios – 带自定义播放器控件的AVPLayer全屏前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
设计:

ViewController:有一个玩家视图&一个容器vew.

播放器视图:加载AVPlayer&在播放器视图的底部有一个子视图(PlayerControlView)来加载播放器控件(播放/暂停/进度条/全屏等…)

PlayerControlView:一个自定义的UIView,它具有播放器控件.

我能够在正常模式下加载AVPlayer和播放器控件(即不是全屏).播放很好,所有控件都正常工作.

问题:

用户点击播放器控件上的全屏图标时,我希望AVPlayer全屏显示.我可以通过更改播放器视图的框架并将AVPlayerLayer的Zposition设置为100来使AVPlayer全屏显示.

问题是只有当我不对playerControlView进行任何更新时(即进度条/点击播放按钮等),AVPlayer才会保持全屏状态.一旦在滑块上完成播放进度更新,AVPlayer就会退出全屏并返回正常模式.

播放器控件未重新定位到播放器视图的底部.他们本身仍然处于以前的位置.在正常模式下,播放器控件在方向更改时正确布局.

如果我采取的方法是正确的方法,有人可以告诉我吗?如果没有,请建议正确的设计,以实现AVPlayer的功能齐全的播放器控件.

提前致谢,
纳文

解决方法

你需要覆盖播放器viewcontroller中的viewWillLayoutSubviews方法并在那里更新你的playerview框架

猜你在找的iOS相关文章