ipad  ios6以上 屏幕旋转控制

1,首先说一下,ios6之前的系统 ,旋转控制, 利用  shouldAutorotateToInterfaceOrientation:  来单独控制某个UIViewController的旋屏方向支持

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

     // Return YES for supported orientations

    return (interfaceOrientation == UIInterfaceOrientationPortrait);

}   

2,但是再ios6 的系统上,上述方法被弃用了,取而代之的是以下2个方法,设置某个viewcontroller 的旋转

- (BOOL)shouldAutorotate{

    if (self.preferredInterfaceOrientationForPresentation ==UIInterfaceOrientationMaskLandscapeLeft || self.preferredInterfaceOrientationForPresentation ==UIInterfaceOrientationMaskLandscapeRight) {//支持横屏

        return YES;

    }

    return NO;//禁止旋转


}

- (NSUInteger)supportedInterfaceOrientations{

    return UIInterfaceOrientationMaskLandscape;

// return UIInterfaceOrientationMaskPortrait; //禁止旋转

}

除了这个2个方法之外,还要再把程序的所有viewcontroller的添加,用以下方法替代

//    [window addSubview:testUserViewController_.view];替换为:

    window.rootViewController =testUserViewController_;


3, 如果整体程序的viewcontroller 都不需要旋转,在appdelegate 中调用该方法

 

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{

    return UIInterfaceOrientationMaskPortrait;

}


4,所以在做系统版本适配的时候,应该把1,2中的方法同时使用,程序会在不同系统版本的情况下去调用相应的设置方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值