导航控制器中的方向纵向

时间:2015-07-01 15:57:29

标签: ios objective-c uiinterfaceorientation

我尝试强制navigationController在我的应用程序中处于方向纵向。但是我通过这种方式继承了navigationController类来解决这个问题:

    - (BOOL)shouldAutorotate
{
    if (self.visibleViewController && [self.visibleViewController respondsToSelector:@selector(shouldAutorotate)])
    {
        return [self.visibleViewController shouldAutorotate];
    }
    return YES;
}

    - (NSUInteger)supportedInterfaceOrientations
    {
        if (self.visibleViewController && [self.visibleViewController respondsToSelector:@selector(supportedInterfaceOrientations)])
        {
            return [self.visibleViewController supportedInterfaceOrientations];
        }
        return UIInterfaceOrientationMaskPortrait;
    }

所以我的所有控制器都继承了这个。但我的问题是,当我在横向模式下使用iPhone启动应用程序时,我的viewController不尊重interfaceorientationlandscape。但是,当我转动我的iPhone时,如果方向发生变化则不会改变。 我搜索如果在viewDidLoad中不是纵向,或者如果可能在viewDidAppear中,我如何强制我的方向更改。

1 个答案:

答案 0 :(得分:0)

如果您想拥有此应用范围

Where to set the orientation modes

您可以点击相应的菜单项到达那里: Where to find the configuration menu

否则,如果您只想为一个ViewController设置

- (BOOL)shouldAutorotate {
     return YES; // or NO
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
return UIInterfaceOrientationLandscapeLeft; // or UIInterfaceOrientationLandscapeRight or UIInterfaceOrientationPortrait
}

- (NSUInteger)supportedInterfaceOrientations {
     return UIInterfaceOrientationMaskLandscape; // or UIInterfaceOrientationMaskPortrait
}