IOS 强制设置屏幕旋转

今天研究了下强制设置屏幕旋转,在这记录下

如果app需要有界面旋转屏幕的,那么你的General里的Device Orientation里必须设置相对应的旋转支持

然后加入以下代码,这边我的代码是放在了BaseNavigationController里的

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
    if (self.supportPortraitOnly) {
        return UIInterfaceOrientationPortrait == toInterfaceOrientation;
    }else {
        return [self.topViewController shouldAutorotateToInterfaceOrientation:toInterfaceOrientation];
    }
}

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
    if (self.supportPortraitOnly) {
        return UIInterfaceOrientationMaskPortrait;
    }else{
        return [self.topViewController supportedInterfaceOrientations];
    }
}

// New Autorotation support.
- (BOOL)shouldAutorotate {
    if (self.supportPortraitOnly) {
        return NO;
    }else{
        return [self.topViewController shouldAutorotate];
    }
}

这里面的supportPortraitOnly参数传入你是否只支持竖屏状态
如果你的最低层的控制器只是一个ViewController的话,那么这段代码加在你的BaseViewController里就行了
如果你的最低层的控制器只是一个NavgationController的话,那么这段代码加在你的BaseNavgationController里就行了
如果你的最低层的控制器只是一个TabBarController的话,那么这段代码加在你的BaseTabBarController里就行了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,638评论 25 708
  • 神说:生存在黑夜里的生物不配拥有希望 魔说:世间万物皆为平等 于是他们开战了 我说:何处惹尘埃,独不过现在
    花藻阅读 125评论 0 0
  • 今日收获 大祸源于小错,你以为的只是代表个人建议。对别人好是一个人的教养与品德。用别人接受的方式对她好,是体现个人...
    若兰ZHOU阅读 140评论 0 0
  • 在火车站。 一直很想得到又志在必得的东西,没有到手,有点失落,只好收拾行囊,逃离。 说不清楚到底是什么原因,总是心...
    爱殷思叹阅读 206评论 0 0
  • 八面碰壁 没有人能为你的人生负责任,哪怕你自认为投入了金山银山七情六欲,最后肝胆俱碎魂飞魄散,人家也依然坐在落地窗...
    羽衣烟霞阅读 441评论 1 5