0

我有一个应用程序,其中横向左侧和横向右侧都在构建设置中启用,但我只希望这些在应用程序的一个 ViewController 中可用。

我正在使用导航控制器,并且在我推入堆栈的第一个 ViewController 中,我想完全禁用旋转。我已经尝试了所有这三个都没有成功:

- (BOOL)shouldAutoRotate {
    return NO;
}

- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskPortrait;
}

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

当我在模拟器中旋转设备时,布局仍然会发生变化。我知道最后一种方法在 iOS 6 中已弃用。

有任何想法吗?

4

1 回答 1

0

修复。原因是导航控制器正在被旋转,而这并没有- (BOOL)shouldAutorotate像我想的那样触发在顶视图控制器中被调用。

我将导航控制器子类化并添加了

- (BOOL)shouldAutorotate {
    return NO;
}
于 2013-09-04T17:40:58.190 回答