一.问题分析
在开发中,视频界面有强转的需求。当iOS设备处于“禁止旋转”的状态下,强转都是正常的。当iOS设备处于“允许旋转”的状态下,会遇到下面的问题:
- 屏幕强转横屏后,先将设备转为竖屏,再调用屏幕强转为竖屏,不生效。
- 屏幕强转竖屏后,先将设备转为横屏,再调用屏幕强转为横屏,不生效。
二.解决方案
1.横屏 -> 竖屏
// 防止用户先把设备转为横屏,导致屏幕强转横屏失效。
[[UIDevice currentDevice] setValue:[NSNumber numberWithInteger:UIDeviceOrientationPortrait] forKey:@"orientation"];
[[UIDevice currentDevice] setValue:[NSNumber numberWithInteger:UIDeviceOrientationLandscapeLeft] forKey:@"orientation"];
2.竖屏 -> 横屏
// 防止用户先把设备转为竖屏,导致屏幕强转竖屏失效。
[[UIDevice currentDevice] setValue:[NSNumber numberWithInteger:UIDeviceOrientationLandscapeLeft] forKey:@"orientation"];
[[UIDevice currentDevice] setValue:[NSNumber numberWithInteger:UIDeviceOrientationPortrait] forKey:@"orientation"];
网友评论