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