在plist文件中设置强制竖屏的情况下
假如希望达到横屏的效果,可以通过旋转view来实现
基本是改变view的大小,或者某个视图的宽高互换,旋转view或者某个视图,这个过程可以搞个小动画
self.view.transform = CGAffineTransformMakeRotation(M_PI*1/2.0);[UIView animateWithDuration:0.2f animations:^{self.view.transform = CGAffineTransformMakeRotation(M_PI_2);self.view.bounds = CGRectMake(0, 0, height, width);}];
下面是控制横竖屏都支持模式下的
是否支持自动旋转,Yes会自动转动,NO,不会自动旋转,每次自动旋转就会改变[UIScreen mainScreen].bounds的值
// 是否支持旋转- (BOOL)shouldAutorotate{return NO;}
设置支持的旋转类型,假如在APPdelegate中就表示全局配置,假如是导航栏控制器就表示导航栏控制器以及其子视图都遵循这个,假如在普通控制器中,就表示这个控制器
//当前支持的旋转类型-(UIInterfaceOrientationMask)supportedInterfaceOrientations{// 设置横屏if ([XmoConfig sharedInstance].sdkConfig.horizontalScreen.intValue == 1) {return UIInterfaceOrientationMaskLandscape;}// 设置竖屏return UIInterfaceOrientationMaskPortrait;}
present展示一个控制器,按照什么方向初始化控制器
//你跳转(present)到这个新控制器时,按照什么方向初始化控制器- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {return UIInterfaceOrientationLandscapeRight;}
