iOS纯代码实现 强制横屏
2016-04-24 本文已影响2947人
解忧杂货店老板
iOS9.0强制横屏
适用于“当需要在某个竖屏的情况下点击一个按钮跳转到另一个横屏的controller”
- 首先 :在UINavigationViewController.m中重写以下三个方法,目的是为了在页面跳转和返回的时候让一级二级controller都找到自己支持的横竖屏模式,否则从横屏返回的时候会出现崩溃的情况。
- (BOOL) shouldAutorotate {
return YES;
}
- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
return [self.viewControllers.lastObject supportedInterfaceOrientations];
}
- (UIInterfaceOrientation) preferredInterfaceOrientationForPresentation {
return [self.viewControllers.lastObject referredInterfaceOrientationForPresentation];
}
- 其次 :在你需要横屏的那个第二级controller.m里面重写三个方法:
- (BOOL)shouldAutorotate {
return YES;
}
- (UIInterfaceOrientationMask) supportedInterfaceOrientations {
return UIInterfaceOrientationMaskAll;
}
-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
**//此处填写你需要让第二级controller现实的横屏方向**
return UIInterfaceOrientationLandscapeLeft;
}
- 最后:要注意一些细节点,只能用present不能用push.
要看的更真切的话,用代码说话.
请转到我的github:https://github.com/FocusLyn/LandscapeLeft