MPMoviePlayerController setFullScreen 不工作 ios6

Posted

技术标签:

【中文标题】MPMoviePlayerController setFullScreen 不工作 ios6【英文标题】:MPMoviePlayerController setFullScreen not working ios6 【发布时间】:2012-12-20 08:28:36 【问题描述】:

ios 6 中的 MPMovieplayercontroller 有一个非常奇怪的问题。

我已经调试了几个小时,终于可以得出结论,iOS6 中的 setFullscreen:NO animated:NO 有问题。

我的项目也支持低于 6.0 的 iOS,并且它的工作方式应该如此。 以下代码行的行为因 iOS 版本而异。

NSLog(@"player fullscreen 1 = %u", self.player.isFullscreen);
[self.player setFullscreen:NO animated:NO];
NSLog(@"player fullscreen 2 = %u", self.player.isFullscreen);

player fullscreen 1 = 在 iOS 6 及更低版本中打印 1,因为它是全屏的。

播放器全屏 2 = 在 iOS6 中打印 1,在其他版本中打印 0。这是一个问题,因为类中的逻辑取决于此,当我尝试关闭视图时,它以一种奇怪的行为结束。

任何人都可以解决为什么 setfullscreen 在 iOS 6 中不起作用?

(在旁注中,当我启动播放器时,我调用 [self.player setFullscreen:YES animated:NO],这样做会以全屏方式启动,但无法从全屏恢复..)

是的 - 我需要它以全屏模式启动!

还要确保我在 viewDidDisappear 和 viewWillDisappear 中没有任何内容!

【问题讨论】:

【参考方案1】:

我没有找到完美的解决方案,但我做了一个延迟为 0.0f 的选择器,这意味着它将在下一个周期运行。

我必须这样做,因为没有 !

代码无法正确执行

【讨论】:

【参考方案2】:

在 iOS6 中,当您点击切换按钮以转到全屏时,会调用 self 和父控制器的 viewWillDisappear 和 viewDidDisAppear ,这在 iOS6 之前并非如此。在那里调试您的代码,如果它产生任何问题。

【讨论】:

如前所述,我也读到过这个问题。但主要问题是 setFullScreen 不会改变状态。即使我将其设置为 NO,它的全屏也是如此。这是主要问题。据我所知,我的 viewWillDisappear/viewDidDisappear 没有一个被调用..

以上是关于MPMoviePlayerController setFullScreen 不工作 ios6的主要内容,如果未能解决你的问题,请参考以下文章

MPMoviePlayerController 不播放 .wmv

如何显示 MPMoviePlayerController 控件?

MPMoviePlayerController 隐藏 AirPlay 按钮

MPMoviePlayerController 上的专辑封面

MPMoviePlayerController 已弃用,现在怎么办?

用 MPMoviePlayerController 替换 AVPlayer