2

从 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 上的用户,我如何仍然支持 iOS5 方法和 iOS6 方法而不会崩溃?

4

2 回答 2

3

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

https://stackoverflow.com/a/12522119

于 2012-11-14T17:46:33.570 回答
0

您错过了-(void)viewDidLoad方法中的这一行

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"UIApplicationSupportedInterfaceOrientationsIsEnabled"];

我希望这可以帮助你

于 2012-11-15T13:43:28.823 回答