设计:
ViewController:有一个玩家视图&一个容器vew.
播放器视图:加载AVPlayer&在播放器视图的底部有一个子视图(PlayerControlView)来加载播放器控件(播放/暂停/进度条/全屏等…)
PlayerControlView:一个自定义的UIView,它具有播放器控件.
我能够在正常模式下加载AVPlayer和播放器控件(即不是全屏).播放很好,所有控件都正常工作.
问题:
当用户点击播放器控件上的全屏图标时,我希望AVPlayer全屏显示.我可以通过更改播放器视图的框架并将AVPlayerLayer的Zposition设置为100来使AVPlayer全屏显示.
问题是只有当我不对playerControlView进行任何更新时(即进度条/点击播放按钮等),AVPlayer才会保持全屏状态.一旦在滑块上完成播放进度更新,AVPlayer就会退出全屏并返回正常模式.
播放器控件未重新定位到播放器视图的底部.他们本身仍然处于以前的位置.在正常模式下,播放器控件在方向更改时正确布局.
如果我采取的方法是正确的方法,有人可以告诉我吗?如果没有,请建议正确的设计,以实现AVPlayer的功能齐全的播放器控件.
提前致谢,
纳文
解决方法
你需要覆盖播放器viewcontroller中的viewWillLayoutSubviews方法并在那里更新你的playerview框架