我們有一個項目是需要做橫豎屏旋轉(zhuǎn)的,就是根據(jù)服務(wù)器返回的指令做個旋轉(zhuǎn)糜工,總結(jié)一下:
兩種根據(jù)服務(wù)器指令來旋轉(zhuǎn)屏幕都需要寫個分類颂斜,固定住不需要旋轉(zhuǎn)的屏幕为迈,然后在需要旋轉(zhuǎn)的實現(xiàn)一下代碼即可在指定的控制器旋轉(zhuǎn)敌蜂,這種橫豎屏都是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];
第二種實現(xiàn)比較簡單箩兽,主要是之前我們使用了第一種解決方案,PM
當時看到QQ
空間有個屏幕旋轉(zhuǎn)的章喉,實現(xiàn)的比較好比肄,我用自己的實現(xiàn)方法實現(xiàn)了。依然導(dǎo)入三個分類囊陡,然后豎屏直接push
,橫屏使用Modal
掀亥,然后重新里面的三個方法即可撞反,第二個相對于第一種比較簡單
https://github.com/BaiCanLin/HorizontalAndVertical