在開發項目的時候,遇到了一個問題,就是其中一個頁面需要強制橫屏,而其他頁面要強制豎屏。
我的解決方法是這樣的。在AppDelegate.h里面添加@property(nonatomic,assign)NSInteger allowRotation;
在AppDelegate.m文件里面添加
1 - (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window 2 { 3 if (_allowRotation == 1) { 4 return UIInterfaceOrientationMaskLandscapeRight; 5 } 6 else 7 { 8 return (UIInterfaceOrientationMaskPortrait); 9 } 10 }
這樣默認所以的頁面就是豎屏的,在要強制橫屏的頁面的控制器UIViewController里面,引入#import "AppDelegate.h"
然后
- (void)viewDidLoad { [super viewDidLoad]; AppDelegate * appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate; appDelegate.allowRotation = 1; }
就可以讓個別頁面單獨橫屏了