在dismissMoviePlayerViewControllerAnimated之后,iPad视图方向不正确

时间:2010-09-05 14:18:44

标签: cocoa-touch mpmovieplayercontroller rotation screen-orientation mpmovieplayer

我的iPad应用程序使用方便的MPMoviePlayerViewController课程全屏显示电影。我这样说:

 [self.hostController presentMoviePlayerViewControllerAnimated:playerViewController];

之后,当收到通知播放完成后,我将其解雇:

 [self.hostController dismissMoviePlayerViewControllerAnimated];

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

1- iPad处于垂直方向。我的观点是垂直的。 2-用户以垂直方向启动电影。玩家是垂直的。 3-用户将iPad旋转到水平方向。 4-播放器切换到水平方向。到现在为止还挺好。 5-电影停止,播放器被解雇,我重新出现,iPad仍处于水平状态,但我的视图一直处于垂直方向,处于步骤1中。现在它看起来是侧面的。

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

有没有人遇到过这种情况?一个简单的解决方法?

感谢。

1 个答案:

答案 0 :(得分:2)

我遇到过这么多次,它似乎是一个Apple bug(并且已经报告过它)。

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