0

我正在使用 UITabBarController,我的应用程序支持纵向和横向旋转。在启动应用程序时,我显示了一个模态视图,但我需要将该模态视图固定为仅纵向。我不知道该怎么走,类似的线程听到建议子类化并覆盖supportedInterfaceOrientationsand shouldAutorotate,控制器是UIViewController子类,模态视图是UIView子类。

相关代码:

-(BOOL)shouldAutorotate{

//here I tried to test whether the modal is still visible on the screen and return no in such case, but doesn't seems to work.
    return YES;
}

- (NSUInteger)supportedInterfaceOrientations{

    return UIInterfaceOrientationMaskAll;
}

iOS 目标:5.0

4

1 回答 1

0

方向总是让我感到困惑,特别是从 iOS5 到 iOS6 的变化。昨天我做了与你想要完成的完全相反的事情。我只需要旋转一个模型视图。我已经编辑了我的代码以满足您的需求。

首先,在此处选择您需要的所有方向:

在此处输入图像描述

在你的rootViewController.m 中:

//iOS 6
    - (BOOL)shouldAutorotate {
        return YES;
    }

在您的ModelViewController.m 中:

// iOS5
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    return ((toInterfaceOrientation == UIInterfaceOrientationPortrait);
}

// iOS6
- (BOOL)shouldAutorotate {
    return NO;
}

// iOS6
- (NSUInteger)supportedInterfaceOrientations {
    return uiinterfaceorientationmaskportrait;
}
于 2013-09-11T21:19:54.660 回答