Status bar —— 设置状态栏的显示、隐藏、背景颜色、文字颜色

一、设置状态栏显示和隐藏

1、通过 Info.plist 文件增加字段,控制状态栏全局显示和隐藏

  • 在 Info.plist 文件中增加字段 Status bar is initially hidden  设置为 YES ,那么 app 在 LaunchScreen 页面隐藏状态栏
  • 在 Info.plist 文件增加字段 View controller-based status bar appearance 设置为 YES,那么app默认所有页面都会显示状态栏

2、通过代码,控制状态栏全局显示和隐藏

  • 在 Info.plist 文件 View controller-based status bar appearance 设置为 NO时,代码设置状态栏才会起作用。
  • 在 AppDelegate.m 中添加代码 [[UIApplication sharedApplication] setStatusBarHidden:NO];

3、通过代码,控制状态栏局部显示和隐藏

  • 在 Info.plist 文件 View controller-based status bar appearance 设置为 YES
  • 在需要隐藏状态栏的VC中重写写法 - (BOOL)prefersStatusBarHidden { return YES;},返回YES

二、设置状态栏颜色

1、全局文字颜色:在 Info.plist 增加key值 Status bar style,value可以设置 UIStatusBarStyleDefault (默认黑色)和 UIStatusBarStyleLightContent (白色)。

2、全局文字颜色:在 Info.plist 文件 View controller-based status bar appearance 设置为 NO时,且在 AppDelegate.m 中添加2行代码 [[UIApplication sharedApplication] setStatusBarHidden:NO];   [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 即可!注意:此处 Info.plist中添加的key值对应的value必须为NO,若为YES,则代码不起作用。

3、局部文字颜色:此处分2种不同情况

首先设置,在 Info.plist 文件 View controller-based status bar appearance 设置为 YES

a. ViewController 不嵌套在 UINavigationController 中,需要设置以下

重写 UIViewController 方法 

- (UIStatusBarStyle)preferredStatusBarStyle { 
    return UIStatusBarStyleDefault; 
}

b. ViewController 为 UINavigationController 的rootVC,需要设置以下

继承 UINavigationController 写一个子类,然后重写方法:                

- (UIStatusBarStyle)preferredStatusBarStyle {
    return self.topViewController.preferredStatusBarStyle;
}

关于以上状态栏的显示和隐藏、文字或背景颜色均为亲测,若存在问题,麻烦留言@我!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值