使可见的ViewController无效

时间:2012-08-21 10:25:19

标签: ios uiviewcontroller uiinterfaceorientation uiwindow

我有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];

enter image description here

SecondViewController只允许纵向:

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

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

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

enter image description here

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

请帮助。

1 个答案:

答案 0 :(得分:0)

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

  1. 单击项目树的顶层。
  2. 点击" targets"
  3. 下左栏中的目标
  4. 在标签"摘要"您可以选择支持的设备方向"