iOS setStatusBarOrientation 无效的解决方法


title: iOS setStatusBarOrientation 无效的解决方法
date: 2016-06-08 01:00:30
categories: "iOS"
tags:

  • Objective-C

1、window.rootViewController 为VC的时候 下面两种情况改方法仍须在VC中重写

//控制器中重写
- (BOOL)shouldAutorotate {
    return NO;
}

2、window.rootViewController 为nav的时候

//UINavigationController 子类或者分类中重写一下方法
- (BOOL)shouldAutorotate {
    return [self.visibleViewController shouldAutorotate];
}

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
    return [self.visibleViewController supportedInterfaceOrientations];
}


- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
    return [self.visibleViewController preferredInterfaceOrientationForPresentation];
}

3、window.rootViewController 为tabBar的时候

//UITabBarController 子类或者分类中重写一下方法
- (BOOL)shouldAutorotate {
    return self.selectedViewController.shouldAutorotate;
}

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
    return self.selectedViewController.supportedInterfaceOrientations;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
    return [self.selectedViewController preferredInterfaceOrientationForPresentation];
}

- (UIStatusBarStyle)preferredStatusBarStyle {
    return [self.selectedViewController preferredStatusBarStyle];
}

如果想更改状态栏的颜色需要一下设置

需要在info.Plist 添加 View controller-based status bar appearance 设置成No,默认为Yes

原文地址: http://oxy.pub

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

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,283评论 4 61
  • 突然理解,为什么每次上当代史,脑子很被动接受,不能有共鸣。因为没学过现代文学三十年,之前对于我来说是空白的。 怎么...
    众知阅读 135评论 1 0
  • 关于变化的学问,中国古人专门出了一本书,叫《周易》。据说还有两种关于变化的书,《连山》和《归藏》,已经失传。可见,...
    aubell阅读 363评论 0 0
  • 从大学生到成为一个职场员工,这种角色的突然转变会让很多刚入职场的新人感觉不适应,帮助新员工完成角色转变,是新员工培...
    Eggyino阅读 2,459评论 0 4
  • 昨天去一家公司面试了!这是年后第一份面试! 但我没把这面试放在心上,因为现在是招聘面试的黄金时候,我应该没能很快能...
    兰花大海阅读 213评论 0 0