项目中有时候需要改变 状态栏 的颜色 、隐藏、显示等
1、改变颜色:
黑色(默认),白色
UIStatusBarStyleDefault // Dark content, for use on light backgrounds
UIStatusBarStyleLightContent // Light content, for use on dark backgrounds
实例
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
//调用上述方法后需要及时刷新
[self setNeedsStatusBarAppearanceUpdate];
//若上述刷新没有起到作用 需要改变 info.plist 文件View controller-based status bar appearance 值为NO;
2、是否隐藏:
[UIApplication sharedApplication].statusBarHidden = NO;
3、详解
状态栏拆分:
如图:状态栏分为 前置部分 和 后置部分
前置部分:网络状态、时间、电量
后置部分:背景颜色(此图为乳白)
改变状态栏的方式:
①代码; ②plist 文件
一般在plist文件中设置是 全局设置,项目中不需要再次设置;而代码设置则要灵活的多,多用于需要经常改变状态栏的app中
plist 文件:
在plist中增加一项: Status bar style,并设置想要的值。
代码:
//颜色
self.navigationController.navigationBar.barTintColor = [UIColor yellowColor];
其他方法:
设置一个view,添加到navigationbar上
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, -20)];
view.backgroundColor = [UIColor redColor];
[self.navigationController.navigationBar addSubview:view];