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對應的寬高值。
以上這個問題引發的猜想並沒有驗證,如有不對的地方歡迎指正....