iOS 修改状态栏颜色

如果在导航栏下

   self.navigationController.navigationBar.barStyle = UIBarStyleBlack;//白色
   self.navigationController.navigationBar.barStyle = UIBarStyleDefault;//黑色

如果隐藏导航栏

1、在plist文件中添加一个属性 View controller-based status bar appearance 设置为 NO

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;

2、View controller-based status bar appearence 设置为 YES
注意:如果 View controller-based status bar appearence 为 YES,则 [UIApplication sharedApplication].statusBarStyle 在工程里面设置是无效的。

  self.navigationController.navigationBar.barStyle = UIBarStyleBlack;

或者重写 preferredStatusBarStyle 方法(修改单个页面)

  - (UIStatusBarStyle)preferredStatusBarStyle {
      return UIStatusBarStyleLightContent;
  } 

动态修改状态栏颜色

1.设置一个全局的状态栏。

@property (nonatomic, assign) UIStatusBarStyle statusBarStyle;
  1. 实现preferredStatusBarStyle方法
- (UIStatusBarStyle)preferredStatusBarStyle {
    return self.statusBarStyle;
}

3.设置更新状态栏字体颜色

    self.statusBarStyle = UIStatusBarStyleLightContent;
     //   self.statusBarStyle = UIStatusBarStyleDefault;
    [self setNeedsStatusBarAppearanceUpdate];

参考地址1:https://www.jianshu.com/p/b952f0e1f934
参考地址2:https://www.jianshu.com/p/fe2cae4eb072

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

相关阅读更多精彩内容

友情链接更多精彩内容