iOS设备旋转支持横屏

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对应的宽高值。

你可能感兴趣的:(iOS设备旋转支持横屏)