如何设置状态栏的文字颜色

对于Swift:

第一步:在Info.plist中设置UIViewControllerBasedStatusBarAppearance 为NO

第二步:在viewDidLoad中加一句(也可以在AppDelegate.swift里添加)

UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent;

这样就可以把默认的黑色改为白色。

对于Object-C:

第一步:在Info.plist中设置UIViewControllerBasedStatusBarAppearance 为NO

第二步:在AppDelegate.m里添加:

 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

如果你想将背景图片延伸至状态栏,可以参考以下方法:

源地址:http://my.oschina.net/shede333/blog/304560

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

系统提供的方法

navigationBar的setBarTintColor接口,用此接口可改变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即可。
1 self.navigationController.navigationBar.backgroundColor = [UIColor clearColor];
2 self.navigationController.navigationBar.barTintColor = [UIColor clearColor];
3 [self.navigationController.navigationBar setBackgroundImage:[Helper scaleToSize:[ResourceHelper loadImageByTheme:@"me_navbar_background"]  size: CGSizeMake(320, navigationBarHeight) ] forBarMetrics:UIBarMetricsDefault];

 

原文地址:https://www.cnblogs.com/abelsu/p/4778634.html