美文网首页shmily-iOS/MaciOS 开发技巧
iOS设置状态栏颜色(全局或局部控制器)

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

作者: reloadRen | 来源:发表于2016-06-16 00:30 被阅读2744次
  • 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。

相关文章

网友评论

本文标题:iOS设置状态栏颜色(全局或局部控制器)

本文链接:https://www.haomeiwen.com/subject/lklmdttx.html