【发布时间】:2010-11-20 21:31:41
【问题描述】:
我有这个 iOS 3.2 应用 (iPad),它有很多内容和一些视频。
所有视图都是纵向的,除了纵向内联的视频,带有全屏选项,我想让用户在全屏时自动旋转视频。
在shouldAutorotateForInterfaceOrientation: 我的应用程序通常拒绝自动旋转。
如何让 MPMoviePlayerController 的视图自动旋转,而不是我的应用程序中的任何其他视图?
我想到的一些想法:
在
shouldAutorotateForInterfaceOrientation::return isFullscreenMovieActive;
这将使应用程序在电影处于全屏模式时允许旋转。除了一个大问题外,这非常有效,一旦用户退出全屏模式,我就无法强制应用程序返回纵向模式。 (即用户启动应用程序,找到一个电影播放器,播放它,进入全屏模式,旋转设备,按下完成,现在他的应用程序处于横向模式)
有没有一种可接受的方式强制旋转到UIInterfaceOrientation?Apple 实际上建议从它的视图方法中获取
MPMoviePlayerController的视图。当设备旋转时,实际发生的是应用程序的UIWindow应用了CGAffineTransform。所以我可以对MPMoviePlayerController的视图执行此操作,但是当进入全屏模式时,视图会发生变化,并且不是视图属性中的那个。
那么有什么可以接受的方式来获取MPMoviePlayerController的全屏视图呢?
或者这个任务有更好的解决方案吗?
【问题讨论】:
-
您的应用支持横向模式吗?
-
@tc:就是这样,我想支持它,但我找不到在用户退出全屏视频后强制 iPad 回到纵向的方法。我有一个非常特殊的情况,即方向必须是纵向的,这是有充分理由的。
标签: iphone cocoa-touch ios mpmovieplayercontroller