某 ViewController 支持横屏,且进入就是横屏
- (instancetype)init {
if (self = [super init]) {
// 进入就横屏 只支持横屏
[KMGlobal setAllowRotate:YES];
}
return self;
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
[self initResource];
}
- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
return UIInterfaceOrientationLandscapeLeft;
}
- (BOOL)shouldAutorotate {
return NO;
}
- (void)viewWillAppear:(BOOL)animated {
// 允许该界面旋转
[KMGlobal setAllowRotate:YES];
}
- (void)viewWillDisappear:(BOOL)animated {
// 界面消失后 取消允许旋转
[KMGlobal setAllowRotate:NO];
}
AppDelegate
- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {
if ([KMGlobal allowRotate]) {
return UIInterfaceOrientationMaskAll;
}
else {
return (UIInterfaceOrientationMaskPortrait);
}
}