MPMoviePlayerController 完成按钮,横向

Posted

技术标签:

【中文标题】MPMoviePlayerController 完成按钮,横向【英文标题】:MPMoviePlayerController done button, Landscape orientation 【发布时间】:2011-10-20 09:52:29 【问题描述】:

我正在使用简单的 MPMoviePlayerController。在纵向模式下,它嵌入到我的布局中。当我旋转我的设备时,我希望它全屏显示。在全屏模式下,有一个完成按钮,但它唯一的作用就是暂停视频。当点击完成按钮时,我想关闭模式视图控制器。我该怎么做?

我试过了:

    将 [UIColor clearColor] 放在按钮的背景上并将按钮放在完成按钮上,从而将触摸事件拦截到我自己的选择器中。它失败了,因为当 MPMoviePlayerController 处于全屏模式时,我的自定义按钮不显示。

    进入通知中心并试图捕捉“willExitFullscreen”,但它不会发生(在横向全屏模式下按完成按钮不会退出全屏模式)。

    在 MPMoviePlayerController 中找到完成按钮...但我找不到它。

使用 MPMoviePlayerViewController 不是一个选项,因为我希望能够在我的纵向模式下在我的控制器中使用嵌入式播放器,并且能够在不从头开始加载的情况下旋转电影(因此当用户更改设备方向时推送新控制器是对我来说不是正确的解决方案)。

我已经阅读了一些关于这个问题的主题,问题可能相同或相似,但 anserws 需要我检查过的东西(即通知)或我不能使用的东西(MPMoviePlayerViewController)。

回答(因为我无法在 7 小时内发布) 呵呵。。

这整个混乱的罪魁祸首是这行代码

[self.mpPlayer setControlStyle:MPMovieControlStyleFullscreen];

所以在进入全屏模式时设置全屏控制样式似乎会破坏完成按钮....

对我来说毫无意义。但是当我注释掉这一行时,我可以收到 willExitFullscreen 通知,我可以使用它。

【问题讨论】:

【参考方案1】:

这整个混乱的罪魁祸首是这行代码

[self.mpPlayer setControlStyle:MPMovieControlStyleFullscreen];

所以似乎在进入全屏模式时设置全屏控制样式会破坏完成按钮....

对我来说毫无意义。但是当我注释掉这一行时,我可以收到 willExitFullscreen 通知,我可以使用它。

【讨论】:

以上是关于MPMoviePlayerController 完成按钮,横向的主要内容,如果未能解决你的问题,请参考以下文章

MPMoviePlayerViewController和MPMoviePlayerController的使用

MPMoviePlayerController 不播放 .wmv

如何显示 MPMoviePlayerController 控件?

MPMoviePlayerController 隐藏 AirPlay 按钮

MPMoviePlayerController 上的专辑封面

MPMoviePlayerController 已弃用,现在怎么办?