iOS 6 旋转与来自 UIWebView 的 MPMoviePlayerViewController

Posted

技术标签:

【中文标题】iOS 6 旋转与来自 UIWebView 的 MPMoviePlayerViewController【英文标题】:iOS 6 rotation with an MPMoviePlayerViewController from UIWebView 【发布时间】:2012-12-01 22:59:39 【问题描述】:

我继承了一个自 ios 3 时代以来就没有维护过的 iOS 应用程序。该应用程序依赖于 Web 视图来显示一些数据。其中一项功能是以全屏模式显示视频。客户需要的是对设备旋转做出反应的视频,但所有其他视图都应该是纵向的。

我已经设法找出所有 window.rootViewControllershouldAutorotate 的变化。我只在需要时才让应用程序旋转。我面临的问题是视频旋转“太多”。

如果我向左旋转设备,视频会旋转 180 度(它会进入倒置方向)。向右旋转会导致视图宽度缩小一半,但方向正确。我不太确定问题出在哪里。

有人遇到过类似的问题吗?

【问题讨论】:

【参考方案1】:

通过继承一个项目,我确实遇到了同样的问题。在我的例子中,应用程序是基于导航的,问题是UINavigationController 的主视图被添加为UIViewController 视图的子视图。

所以,最初我的 application:didFinishLaunchingWithOptions: 上有这个代码:

self.viewController = [[MyViewController alloc] init];
self.window.rootViewController = self.viewController;

这个在MyViewControllerviewDidLoad上:

UINavigationController *navController = [[UINavigationController alloc] init];
[self.view addSubview:navController.view];

然后我简单地将我的application:didFinishLaunchingWithOptions: 更改为:

self.viewController = [[MyViewController alloc] init];
self.navigationController = [[UINavigationController alloc] initWithRootViewController:self.viewController];
self.window.rootViewController = self.navigationController;

希望对你有帮助!

【讨论】:

好久都忘记这个问题了。我的问题的解决方法与这里解释的有点不同。但它给了我一些想法,特别是容器嵌套。我的问题是由于将 ios3 移动到 ios4.3 以及之前如何将视图合并在一起造成的。

以上是关于iOS 6 旋转与来自 UIWebView 的 MPMoviePlayerViewController的主要内容,如果未能解决你的问题,请参考以下文章

swift 笔记:iOS与JavaScript的交互(一):UIWebView - 2.1直接使用字符串通过评估Java脚本(来自:)

IOS 6 MPMoviePlayerController 旋转问题

UIWebView 旋转内容

UIWebView 旋转

iPad上的iOS UIWebView窗口宽度和高度

UIWebView 空白页旋转