iOS6自动旋转混淆并支持iOS5

时间:2012-11-14 17:19:06

标签: objective-c ios ios6 uiinterfaceorientation

从iOS6开始,我意识到shouldAutorotateToInterfaceOrientation:方法已被弃用。我的大多数应用程序我希望用户能够旋转,这在iOS6和5目前都有效。但是,我有一个模态视图,我只想成为portrait,所以我添加了以下内容而没有实际工作(在模拟器和设备中测试):

// Tell the system what we support
- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationPortrait;
}

// Tell the system It should autorotate
- (BOOL) shouldAutorotate {
    return NO;
}

// Tell the system which initial orientation we want to have
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
    return UIInterfaceOrientationPortrait;
}

为什么这段代码不能阻止我的模态旋转? 我如何仍然支持iOS5方法以及iOS6方法而不会让iOS5上的用户崩溃?

2 个答案:

答案 0 :(得分:3)

您必须将显示的vc嵌入导航控制器中,您可以在其中设置首选方向。

https://stackoverflow.com/a/12522119

答案 1 :(得分:0)

你错过了-(void)viewDidLoad方法

中的这一行
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"UIApplicationSupportedInterfaceOrientationsIsEnabled"];

我希望这可以帮到你