【发布时间】:2012-10-08 03:44:40
【问题描述】:
我有一个通过 MPMoviePlayerViewController 播放视频的应用程序,该应用程序在 UITableViewController 上执行选择操作后呈现,该 UITableViewController 嵌入在 UINavigationController 中,而 UINavigationController 嵌入在 UITabBarController 中。
TabBar 控制器 > 导航控制器 > 表格视图控制器 * MPMoviePlayerViewController
在 iOS5 中一切正常,但升级到 iOS6 我发现视频在呈现后没有按预期旋转。如果我在目标摘要页面上选择了更多支持的界面方向,则会导致整个应用程序旋转。
Apple 文档在 UIViewController 类参考中说明了以下内容:
在 iOS 6 中,您的应用支持您在 应用程序的 Info.plist 文件。视图控制器可以覆盖 supportedInterfaceOrientations 方法来限制支持的列表 方向。一般系统只在root上调用该方法 窗口的视图控制器或要填充的视图控制器 整个屏幕;子视图控制器使用 父视图控制器为他们提供的窗口,不再 直接参与有关轮换的决策 支持的。应用程序的方向掩码和视图的交集 控制器的方向掩码用于确定哪些方向 可以旋转视图控制器。
但我不确定子视图控制器何时真正参与轮换决策。播放电影时,我是否需要更改标签栏控制器对shouldAutorotate 和supportedInterfaceOrientations 的响应方式?
【问题讨论】: