iOS设置状态栏颜色(全局或局部控制器)

  • iOS 9后[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;的方式已经被苹果公司给淘汰,再次使用时会发生警告,再者该方法仅仅使用与某一控制器的状态栏。
  • 对于多控制器的应用来说一个个页面设置太麻烦,所以我选择了一种非常简洁的方法,只需修改两处配置,更改全局状态栏颜色。
  • PS:该方法有局限性,只能修改为白色或者黑色。

第一步,修改Info.plist文件:

  • 工程的Info.plist文件中默认是没有View controller-based status..这一项的,需要手动添加;
  • 添加后修改其vlaue值为NO
设置info.plist.png

第二步,修改工程默认的状态栏样式:

  • 默认(default)为黑色
  • (第一种方式)light 为白色


    设置类型.png

    -(第二种方式)或者再AppDelegate.m中设置:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    // 添加如下代码,改方法在iOS9之后被废弃,建议在控制器中重写`[UIViewController preferredStatusBarStyle]`方法。后面会介绍
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
    return YES;
}

在各自控制器中设置状态栏颜色

1.首先还是的设置plist文件

  • 如下图确保View controller-based status bar appearance该项为YES
    屏幕快照 2017-01-14 下午12.56.49.png

2.在控制器中重写- (UIStatusBarStyle)preferredStatusBarStyle方法:

- (UIStatusBarStyle)preferredStatusBarStyle {
    // 返回你所需要的状态栏样式
    return UIStatusBarStyleLightContent;
}

简单吧,如果需要自定义颜色好像可以定义同意的navigationBar。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容