111*_*110 5 iphone mpmovieplayercontroller mpmovieplayer ipad ios4
当我们使用MPMoviePlayer(在自定义UIViewController中)创建应用程序并在电影播放器上使用覆盖UIViewController时,有什么更好的方法: - 使用self.view.presentModalView ...或者self.view.addSubView在播放器中加载电影......或者在那里任何其他更好的方式.我现在使用模态视图,一切正常,但我必须实现一些自定义旋转.我正在寻找更明确的方法来做到这一点.
好吧也许更多细节.在iPhone应用程序中,我添加播放器,如模态视图,并添加叠加视图,这是有效的.但这是通用应用程序,它在iPad上的工作方式与在iPhone上的工作方式相同.在ipad splitView中,我的播放器在细节方面(非完全屏幕),当我双击它时它会全屏显示.现在玩家是关键窗口.这是最大的问题.我试图添加叠加视图作为子视图和模态视图,我做了它,但是叠加层不知道设备方向,我必须转换叠加元素,这是我想要避免的.有没有办法检测该视图的旋转?
简单而优雅的解决方案:
不要使用"真实"全屏模式,而是将MPMoviePlayerController的视图缩放到屏幕填充大小 - MPMoviePlayerController.view.frame = CGRectMake(0.0f, 0.0f, 768.0f, 1024.0f);.保持MPMoviePlayerController的view定期之上UIViewController的view,它允许旋转(addSubview).保持您的自定义界面视图在MPMoviePlayerController的视图(addSubview)和presto之上,无论您是否以"全屏"方式运行它,您都将获得正确旋转的视频播放器.
我找到了一个解决方案,但我不是很自豪,因为我认为有一些更好的方法,但这种解决方法有效: - 在项目中,我有一个包含一些全局数据的单例类。willAnimateRotationToInterfaceOrientation- 当应用程序启动时,首先调用详细视图 (UISplitView)方法。在这里,我获取当前方向并将其存储在单例类中。- 后来,当我在播放器顶部添加覆盖时,我从单例读取数据并转换覆盖元素。
| 归档时间: |
|
| 查看次数: |
2105 次 |
| 最近记录: |