UIViewController的interfaceOrientation始终是相同的值

时间:2010-11-04 04:11:10

标签: ipad uiviewcontroller

无论我转向iPad的哪个方向,viewcontroller.interfaceOrientation总是返回1.任何人都知道这是为什么?

2 个答案:

答案 0 :(得分:1)

它完全取决于你的viewcontroller在视图中所处的位置。

UIWindow应该只有一个链接到它的viewcontroller(通常是一个rootViewController),这是响应旋转的viewcontroller。 如果rootViewController有多个子视图控制器,则需要在rootViewController中检测旋转并将其传递给相关的viewcontroller

在线文档中有一个非常好的编程指南。如果我找到链接,我会发布它。 搜索我之前的帖子,我指向同一个方向。

答案 1 :(得分:0)

这个问题似乎在iOS 6.0中消失了。

解决方法可能如下所示:

- (UIInterfaceOrientation)interfaceOrientation;
{
    UIViewController *rootViewController = self.view.window.rootViewController;
    if (rootViewController) {
        return rootViewController.interfaceOrientation;
    }
    return [super interfaceOrientation];
}