在iOS7中如何停止第一个视图控制器自动旋转?

时间:2014-06-13 08:07:57

标签: ios uikit

我有一个只需要一个屏幕自动旋转的应用程序,第一个和最后一个屏幕应该是肖像。我可以使用以下方式让最后一个屏幕停止旋转:

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}

但是这在第一个屏幕上不起作用,我使用的是一个带有UINavigationController的故事板(我想这可能与它有关?)

感谢任何帮助。感谢

1 个答案:

答案 0 :(得分:1)

您可能需要对UINavigationController进行分组,您应该使用它而不是标准UINavigationController

我已经在我的项目中完成了这项工作,因此这关注了UIViewController个人类的自定义方向:

的.h

#import <UIKit/UIKit.h>

@interface UIOrientationController : UINavigationController { }
@end

的.m

@implementation UIOrientationController

- (BOOL)shouldAutorotate {
    return [self.topViewController shouldAutorotate];
}

- (NSUInteger)supportedInterfaceOrientations {
    return [self.topViewController supportedInterfaceOrientations];
}

@end

注意:如果在最终代码中成为要求,您可以使用覆盖更多方法来扩展此类。