第一步
在 AppDelegate.h
里增加一个属性
1
| @property (nonatomic, assign) NSInteger allowRotation;
|
用来区分哪个界面可以横屏
哪个界面不可以
第二步
在 AppDelegate.m
里增加一个方法
1 2 3 4 5 6 7 8 9 10 11
| -(UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window { if(self.allowRotation==1) { return UIInterfaceOrientationMaskAll; } else { return UIInterfaceOrientationMaskPortrait; } }
|
第三步
在需要横屏的界面调用以下代码即可
1 2 3 4 5 6
| AppDelegate * appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate; appDelegate.allowRotation = 1; [[UIDevice currentDevice] setValue:[NSNumber numberWithInteger:UIInterfaceOrientationPortrait] forKey:@"orientation"]; [[UIDevice currentDevice] setValue:[NSNumber numberWithInteger: UIDeviceOrientationLandscapeRight] forKey:@"orientation"]; [[UIDevice currentDevice] setValue:[NSNumber numberWithInteger:UIDeviceOrientationPortraitUpsideDown] forKey:@"orientation"]; [[UIDevice currentDevice] setValue:[NSNumber numberWithInteger:UIDeviceOrientationLandscapeLeft] forKey:@"orientation"];
|
Demo地址:https://github.com/YouZhiZheShiJingCheng/revolve/tree/master