AVPLayer +全屏,带有自定义播放器控件

时间:2015-03-04 16:50:29

标签: ios objective-c custom-controls fullscreen avplayer

设计:

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

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

PlayerControlView:自定义UIView,其中包含播放器控件。

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

问题:

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

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

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

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

提前致谢, 纳温

1 个答案:

答案 0 :(得分:1)

你需要在你的播放器视图控制器中覆盖viewWillLayoutSubviews方法并更新你的playerview框架