强制横屏大全

最近做直播,竖屏的项目需要支持横屏,经过各种恶心的深坑,搜集的大全 

1.在APPDelegate添加项目支持方向,需要做一个单例,因为需要全局去修改支持转的方向


解释:

#pragma mark - - orientation

// 是否支持转屏

- (BOOL)shouldAutorotate

{

return [self.selectedViewController shouldAutorotate];

}

// 返回nav栈中的最后一个对象支持的旋转方向

- (UIInterfaceOrientationMask)supportedInterfaceOrientations

{

return [self.selectedViewController supportedInterfaceOrientations];

}

// 返回nav栈中最后一个对象,坚持旋转的方向

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation

{

return [self.selectedViewController preferredInterfaceOrientationForPresentation];

}



2.在需要转屏的时候调用

// 修改项目支持的方向

[SupportedInterfaceOrientations sharedInstance].orientationMask = UIInterfaceOrientationMaskLandscapeRight;

// 强制转屏

NSNumber *orientationUnknown = [NSNumber numberWithInt:UIInterfaceOrientationLandscapeRight];

[[UIDevice currentDevice] setValue:orientationUnknown forKey:@"orientation"];


可以参考我的Demo,喜欢可以点赞:https://github.com/15088138451/i-m-fly  


参考文档:http://www.jianshu.com/p/6c45fa2bb970 (BUG参考)

http://www.jianshu.com/p/5c773628caa6 (解释)

http://www.cnblogs.com/niit-soft-518/p/5611298.html (BUG参考)

你可能感兴趣的:(强制横屏大全)