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

 [self.hostController presentMoviePlayerViewControllerAnimated:playerViewController];

后来,当通知演奏完成时,我会这样解雇:

 [self.hostController dismissMoviePlayerViewControllerAnimated];

它可以正常工作,除非用户在电影播放过程中旋转iPad:

1- iPad处于垂直方向。我的观点是垂直的。 2-用户以垂直方向启动电影。玩家是垂直的。 3-用户将iPad旋转到水平方向。 4-玩家切换到其水平方向。到目前为止,一切都很好。 5-电影停止,播放器被解雇,我的重新出现,iPad仍然是水平的,但是我的观点一直保持在垂直方向上。

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

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

谢谢。

有帮助吗?

解决方案

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

关于这一点的唯一方法(我发现)是听 UIDeviceOrientationDidChangeNotificationUIApplicationDidChangeStatusBarOrientationNotification 通知。在这些通知上使用相对时间戳;如果它们都彼此之间发生,则可以确定状态栏更改是用户切换方向的结果,而不是媒体SDK更改状态栏的方向。然后,电影完成后,您可以告诉您的视图控制器应该旋转到风景。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top