1、修改工程的info.plist中"Supported interface orientations"的值(一般在工程的Taget-> General -> Deployment Info -> Device Orientation处打钩来选择设备支持)。
2、实现工程的AppDelegate文件中的(application:supportedInterfaceOrientationsForWindow:)方法,在此方法中返回程序支持的方向枚举。
3、实现某个ViewController支持旋转在iOS6.0以后可以通过以下2个方法:
- (BOOL)shouldAutorotate{ // 是否支持旋转
return YES;
}
- (NUInteger)supportedInterfaceOrientations{ // 支持旋转的方向
returnUIInterfaceOrientationMaskPortrait;
}
扩展:
如果程序界面要求只支持竖屏,但是工程中webView弹出的视频要求支持横屏播放,可以结合以上提到的第1、2中方式来解决。解决方法:修改工程info.plist值,使其只支持Portrait方向;然后实现application:supportedInterfaceOrientationsForWindow:方法,在此方法中返回UIInterfaceOrientationMaskAllButUpsideDown值。这样即使在iPhone6P或ipad上横屏启动程序,界面也不会出现横屏的现象,而在iPhone设备上视频播放仍然支持横屏。解决以上问题引发的猜测:通过修改info.plist来使设备支持各个方向,使[UIScreen mainScreen].bounds获取的屏幕的宽高值也相应的改变了。 实现
application:supportedInterfaceOrientationsForWindow:方法来支持各个方向,并不会改变[UIScreen mainScreen].bounds对应的宽高值。