8

我只需要在纵向模式下打开第一个视图控制器。由于其余的视图控制器将使用两个方向。所以我在 plist 文件中添加了两个方向。

-(BOOL) shouldAutorotate {
    //Never called
}

- (NSUInteger) supportedInterfaceOrientations {
    //Never called
}

谁能告诉我如何限制

4

2 回答 2

11

只需创建 UINavigationController 类并覆盖即可修复它

-(NSUInteger)supportedInterfaceOrientations
{
    AppDelegate *appDelegate = (AppDelegate *) [UIApplication sharedApplication].delegate;
    if(appDelegate.isOrientationOn) {
        return UIInterfaceOrientationMaskAll;
    }
    return UIInterfaceOrientationMaskPortrait;
}

在根窗口中使用这个自定义导航控制器类,仅此而已。

于 2014-02-06T05:44:24.927 回答
2

这将在纵向模式下锁定视图控制器的方向:

- (BOOL)shouldAutorotate
{
    return NO;
}

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}
于 2013-11-04T14:58:50.063 回答