3

我有一个横向的主视图控制器(整个应用程序是横向的左/右)。

该主视图使用以下方式呈现模态视图:

ModalViewController *modalVC = [[ModalViewController alloc] init];
[modalVC setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
[self presentModalViewController:modalVC animated:YES];

在 iOS 5.0* 中,这完全符合我的预期,主视图是横向的,模式视图是横向的。

在 iOS 5.1 中,主视图立即向左旋转 90º,然后模态视图也出现旋转 90º 并被裁剪。当模态视图被关闭时,主视图又回来了,并且是正常的并且是横向的。

我已经尝试了 shouldAutorotateToInterfaceOrientation 的各种突变,但没有效果。我现在就这样离开了:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationLandscapeRight) || (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}

我只是无法弄清楚这一点,直到我将 iOS 5.1 安装到我的 iPhone 上并第一次在其上运行该应用程序之前,我从未遇到过问题。

提前致谢!

*这是使用 5.0 和 5.1 iPhone 模拟器确认的

4

1 回答 1

-1

确保在执行此操作之前显示模态视图控制器(没有动画):

[window makeKeyAndVisible]

所以打电话

[uiviewcontroller presentViewController:modalViewController animated:NO completion:nil];
[window makeKeyAndVisible];
于 2012-04-18T04:23:08.483 回答