iOS 屏幕旋转的两种实现方案

我们有一个项目是需要做横竖屏旋转的,就是根据服务器返回的指令做个旋转,总结一下:
两种根据服务器指令来旋转屏幕都需要写个分类,固定住不需要旋转的屏幕,然后在需要旋转的实现一下代码即可在指定的控制器旋转,这种横竖屏都是push

SEL selector = NSSelectorFromString(@"setOrientation:");
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[UIDevice instanceMethodSignatureForSelector:selector]];
[invocation setSelector:selector];
[invocation setTarget:[UIDevice currentDevice]];
int val = UIInterfaceOrientationLandscapeRight;
[invocation setArgument:&val atIndex:2];
[invocation invoke];

第二种实现比较简单,主要是之前我们使用了第一种解决方案,PM当时看到QQ空间有个屏幕旋转的,实现的比较好,我用自己的实现方法实现了。依然导入三个分类,然后竖屏直接push,横屏使用Modal,然后重新里面的三个方法即可,第二个相对于第一种比较简单

https://github.com/BaiCanLin/HorizontalAndVertical

你可能感兴趣的:(iOS 屏幕旋转的两种实现方案)