在我的iOS 6.1应用程序中无法锁定旋转到纵向

时间:2013-09-04 17:22:18

标签: ios cocoa-touch ios6 autorotate

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

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

- (BOOL)shouldAutoRotate {
    return NO;
}

- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskPortrait;
}

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

当我在模拟器中旋转设备时,布局仍会改变。我知道在iOS 6中不推荐使用最后一种方法。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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

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

- (BOOL)shouldAutorotate {
    return NO;
}