0

我有 UIWindow 并且它的 rootViewController 有蓝色背景并允许各种方向改变:

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

然后我用新的 rootViewController (SecondViewController) 创建新的 UIWindow:

UIWindow *window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

SecondViewController* secondVC = [[SecondViewController alloc] init];

window.rootViewController = secondVC;

window.windowLevel = UIWindowLevelStatusBar;
[window makeKeyAndVisible];

在此处输入图像描述

SecondViewController 只允许纵向:

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

对我来说最重要的是要像弹出窗口一样添加 SecondViewController 视图。所以用户可以看到以前的VC的背景。

但是当我旋转设备时,它会向我的 VC 询问 - (BOOL)shouldAutoRotate... 方法,并且我得到了横向模式,并且状态栏出现在横向模式下。

在此处输入图像描述

理想情况下,我想知道是否完全拒绝旋转(蓝色,黄色,状态栏不会旋转)。

请帮忙。

4

1 回答 1

0

您可以在项目文件中设置允许的方向。

  1. 单击项目树的顶层。
  2. 在“目标”下的左栏中单击您的目标
  3. 在“摘要”选项卡中,您可以选择“支持的设备方向”
于 2012-08-21T10:40:36.530 回答