ios 中 旋转设置

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;

}

- (NSUInteger)supportedInterfaceOrientations{ // 支持旋转的方向

returnUIInterfaceOrientationMaskPortrait;

}

 

扩展:

如果程序界面要求只支持竖屏,但是工程中webView弹出的视频要求支持横屏播放,可以结合以上提到的第1、2中方式来解决。

解决方法:修改工程info.plist值,使其只支持Portrait方向;然后实现application:supportedInterfaceOrientationsForWindow:方法,在此方法中返回UIInterfaceOrientationMaskAllButUpsideDown值。这样即使在iPhone6P或ipad上横屏启动程序,界面也不会出现横屏的现象,而在iPhone设备上视频播放仍然支持横屏。

解决以上问题引发的猜测:

通过修改info.plist来使设备支持各个方向,使[UIScreen mainScreen].bounds获取的屏幕的宽高值也相应的改变了。

实现application:supportedInterfaceOrientationsForWindow:方法来支持各个方向,并不会改变[UIScreen mainScreen].bounds对应的宽高值。

以上这个问题引发的猜想并没有验证,如有不对的地方欢迎指正....

原文地址:https://www.cnblogs.com/LoveStoryJX/p/5279250.html