iOS开发屏幕旋转锁定横竖屏解决方法

使用场景:

公司最近产品,有两个界面是横屏的,其他的界面是竖屏的。针对这个需求,也调试了一段时间。在网上也查找了不少资料。解决的方案也是有的,但是都是需要在导航控制基类中写的。但是不适合我的这个解决方案。

现将本人解决的代码贴出来。

第一步:配置为竖屏。禁用其他方向。如图示:

iOS开发屏幕旋转锁定横竖屏解决方法_第1张图片

第二步:在viewDidLoad方法中用以下方法

//说明:不是真正的旋转屏幕,只旋转当前的View

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight];

self.view.transform = CGAffineTransformMakeRotation(M_PI/2);

CGRect frame = [UIScreen mainScreen].applicationFrame;

self.view.bounds = CGRectMake(0, 0, frame.size.height, frame.size.width);

(以上代码说明:理解为假旋转,不是改变 UIDevice 的 orientation,利用 CGAffineTransformMakeRotation 改变的是self.view的 transform来达到横屏的效果)

你可能感兴趣的:(iOS开发屏幕旋转锁定横竖屏解决方法)