关闭“使用Autolayout”会导致应用仅以纵向模式运行

时间:2012-12-28 17:06:28

标签: objective-c ios ipad xib autolayout

我希望我的应用与iOS 5兼容,因此我必须在XIB文件中禁用“使用Autolayout”。整个应用程序旨在以横向模式运行。在禁用自动布局后启动应用程序(无论是在iOS 5还是iOS 6中),应用程序始终以纵向模式启动并拒绝旋转到横向。

在Info.plist中,Supported Interface Orientations (iPad)仅设置为横向。我究竟做错了什么?这仅在禁用自动布局后发生。

2 个答案:

答案 0 :(得分:5)

我能够通过使用Ismael的答案解决iOS 6中的问题。

- (NSUInteger)supportedInterfaceOrientations {

    return UIInterfaceOrientationMaskLandscape;

}

我可以使用下面的代码在iOS 5中修复它。

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {

    return UIInterfaceOrientationIsLandscape(toInterfaceOrientation);

}

答案 1 :(得分:2)

将此添加到您的控制器:

- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskLandscape;
}

编辑:如果您不想支持肖像,则应在NO

中返回shouldAutorotate