屏幕旋转

  |   0浏览

第一步

AppDelegate.h 里增加一个属性

@property (nonatomic, assign) NSInteger allowRotation;

用来区分哪个界面可以横屏

哪个界面不可以

第二步

AppDelegate.m 里增加一个方法

-(UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{    if(self.allowRotation==1)    {        return UIInterfaceOrientationMaskAll;    }    else    {        return UIInterfaceOrientationMaskPortrait;    }}

第三步

在需要横屏的界面调用以下代码即可

    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

原文地址:https://blog.51cto.com/2254359459/2507813