旋转屏幕问题
1、如果是单纯的控制器,没有自定义的NavigationController进行嵌套。
/**
旋转屏幕问题,必备三要素
shouldAutorotate
supportedInterfaceOrientations
preferredInterfaceOrientationForPresentation
*/
- (BOOL)shouldAutorotate { // 是否支持自动旋转 默认 YES, NO:不自动旋转屏幕,定死一个方向
return YES;
}
- (UIInterfaceOrientationMask)supportedInterfaceOrientations { // 设置 程序支持的哪些方向(位枚举)
return UIInterfaceOrientationMaskLandscape;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation { // 设置默认的方向
return UIInterfaceOrientationLandscapeRight;
}
2、如果有自定义的NavigationController进行嵌套。先 这样,然后再设置 1
// 如果嵌套了一层navigationController的话,需要在navigaController中实现这三个方法
// 类似于我们设置 电池条颜色或者状态栏显示隐藏状态一样
- (BOOL)shouldAutorotate {
return [self.topViewController shouldAutorotate];
}
- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
return [self.topViewController supportedInterfaceOrientations];
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
return [self.topViewController preferredInterfaceOrientationForPresentation];
}