iOS设置状态栏的字体颜色

时间:2023-11-25 23:17:38

设置statusBar的【前景色部分】

1.plist设置statusBar

在plist里增加一行 UIStatusBarStyle(或者是“Status bar style”也可以),这里可以设置两个值,就是上面提到那两个 
UIStatusBarStyleDefault 和 UIStatusBarStyleLightContent

这样在app启动的launch页显示的时候,statusBar的样式就是上面plist设置的风格。

2.设置控制器上方statusBar

(1)在Info.plist中设置UIViewControllerBasedStatusBarAppearance 为NO
(2) 在需要改变状态栏颜色的

AppDelegate中在

didFinishLaunchingWithOptions

方法中增加:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

如果需要在单个ViewController中添加,在ViewDidLoad方法中增加:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

设置statusBar的【背景部分】

背景部分,简单来说,就是背景色;改变方法有两种:

系统提供的方法

navigationBarsetBarTintColor接口,用此接口可改变statusBar的背景色

注意:一旦你设置了navigationBar- (void)setBackgroundImage:(UIImage *)backgroundImage forBarMetrics:(UIBarMetrics)barMetrics接口,那么上面的setBarTintColor接口就不能改变statusBar的背景色,statusBar的背景色就会变成纯黑色。

另辟蹊径

创建一个UIView, 
设置该UIView的frame.size 和statusBar大小一样, 
设置该UIView的frame.origin 为{0,-20}, 
设置该UIView的背景色为你希望的statusBar的颜色, 
在navigationBar上addSubView该UIView即可。