UIViewController自动旋转?

时间:2012-10-04 13:57:59

标签: objective-c modalviewcontroller

我在app delegate中将我的UIViewController设置为self.window.rootViewController。出于某种原因,我需要从我的根视图控制器中打开标志视图作为模态,如:

            self.window.rootViewController.modalPresentationStyle = UIModalPresentationCurrentContext;
            [self.window.rootViewController presentModalViewController:signViewC animated:NO];

如果我在符号视图中更改设备方向,我的根视图控制器不会更改方向,并且在符号视图被解除后我的方向不正确。如果我在符号视图中更改了方向,是否可以更改根视图方向?

在我的根控制器中,我添加了:

     - (BOOL)shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation)interfaceOrientation
     {
        return YES;
     }

如果我在没有模态视图的情况下旋转根视图,则自动旋转有效。

1 个答案:

答案 0 :(得分:0)

首先,您不应该从应用代表中呈现模态。无论您正在做什么检查以确定是否应该在主视图控制器中显示该视图控制器。从那里,你应该调用代码来呈现模态,如下所示:

[self presentModalViewController:signViewC animated:NO]

这样,您的主视图控制器不会被解除,它只会向下推到视图堆栈,并且仍应响应旋转通知。

尝试一下,让我知道结果如何。

修改

取出ModalPresentationStyle。这就是搞乱你的原因。