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

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





      

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。