0

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

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

如果我在标志视图中更改设备方向,我的根视图控制器不会更改方向,并且在标志视图关闭后我的方向不正确。如果我在标志视图中更改方向,是否可以更改根视图方向?

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

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

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

4

1 回答 1

0

首先,您不应该从您的应用程序委托中呈现模式。无论您正在做什么检查以确定您是否应该呈现该视图控制器,都应该在您的主视图控制器中完成。从那里,您应该调用代码来呈现模态,如下所示:

[self presentModalViewController:signViewC animated:NO]

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

试试看,让我知道结果如何。

编辑

取出 ModalPresentationStyle。这就是让你陷入困境的原因。

于 2012-10-04T14:03:30.687 回答