【问题标题】:Entering full screen in MPMoviePlayerController calls viewWillDisappear and viewDidDisappear在 MPMoviePlayerController 中进入全屏调用 viewWillDisappear 和 viewDidDisappear
【发布时间】:2012-09-26 15:07:49
【问题描述】:

为了在我的应用中播放视频,我设置了MPMoviePlayerController 并将其添加到子视图中。用户可以使用捏合手势切换到全屏模式。

在这个viewController(包含电影播放器​​视图)中,我将viewWillDisappear 设置为nil。

但是,在 iOS 6 中,当激活全屏模式时,包含电影播放器​​视图的视图控制器中的 MPMoviePlayerController 调用方法 viewWillDisappearviewDidDisappear

在 iOS5 中,这些方法没有被调用。

【问题讨论】:

标签: mpmovieplayercontroller ios6


【解决方案1】:

我也遇到过这个问题,这让我很头疼。在修复错误之前,我的临时解决方案是检查玩家在viewWillDisappear: 和/或viewDidDisappear: 中的fullscreen 布尔值。如果它返回YES,则电影正在进入全屏模式,您应该避免做任何可能打断它的事情。

【讨论】:

  • viewWillDisappear 方法也被所有超级视图调用。如果您有一个主控制器生成另一个包含 MPMoviePlayerController 的控制器,则当 viewWillDisappear 被调用时,它会一直向上运行。是否也有中断链的解决方法?
  • 我想您可以根据fullscreen 的值是真还是假来尝试跳过对[super viewWillDisappear:] 的调用。但根据您的代码,这可能会导致比修复更多的问题。
【解决方案2】:

对于大家已​​经注意到并对此有疑问,我在社区 Open Radar 中找到了这份报告:http://openradar.appspot.com/12327997

【讨论】:

    【解决方案3】:

    我不确定这是一个问题,但如果有人对本文所述的问题有疑问,即有人使用 viewController(包含电影播放器​​视图),我找到了解决方案:

    我将视图控制器与电影播放器​​控制器一起使用,然后将此视图控制器呈现为子视图。我刚刚摆脱它并直接使用 MoviePlayer.view 作为子视图,它工作得很好。

    iOS 5 不是问题,但现在是。修复它并享受吧!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-19
      • 1970-01-01
      • 2012-10-31
      • 1970-01-01
      • 1970-01-01
      • 2012-09-18
      • 1970-01-01
      • 2011-04-08
      相关资源
      最近更新 更多