2

MPMoviePlayerViewController我的 iPad 应用程序使用便捷类全屏显示电影。我这样介绍:

 [self.hostController presentMoviePlayerViewControllerAnimated:playerViewController];

后来,当通知播放完成时,我会这样关闭它:

 [self.hostController dismissMoviePlayerViewControllerAnimated];

它工作正常,除非用户在电影播放期间旋转 iPad:

1- iPad 处于垂直方向。我的观点是垂直的。2-用户以垂直方向开始电影。播放器是垂直的。3- 用户将 iPad 旋转到水平方向。4- 播放器切换到其水平方向。到目前为止,一切都很好。5-电影停止,播放器被关闭,我重新出现,iPad仍然是水平的,但我的视图一直保持在第1步中的垂直方向。现在它看起来是横向的。

当然,如果用户随后旋转 iPad,它就会恢复正常。当 iPad 旋转时,我的视图会正常旋转。

有人遇到过吗?一个简单的修复?

谢谢。

4

1 回答 1

2

我已经多次遇到这个问题,它似乎是一个 Apple 错误(并且已经报告了它)。

解决此问题的唯一方法(我发现)是收听UIDeviceOrientationDidChangeNotificationUIApplicationDidChangeStatusBarOrientationNotification通知。在这些通知上使用相对时间戳;如果它们都在一秒钟内发生,您可以确定状态栏的变化是用户切换方向的结果,而不是媒体 SDK 改变状态栏方向的结果。然后,当电影完成后,您可以告诉您的视图控制器它应该旋转到横向。

于 2010-09-05T14:24:51.570 回答