设置状态栏文本的自定义颜色

时间:2015-09-17 11:53:29

标签: ios

在iOS8中,我想将状态栏文本(载体,时间,电池)的颜色设置为自定义颜色。

我已将View controller-based status bar appearance设置为NO,并在单个viewcontroller和app delegate中尝试了此代码:

[[UINavigationBar appearance] setTintColor:color_font];

[self.navigationController.navigationBar setBarTintColor:[UIColor greenColor]];

4 个答案:

答案 0 :(得分:2)

  

在iOS8中,我想将状态栏(载波,时间,电池)的颜色设置为自定义颜色。

如果不使用私有API(Customize iOS 7 status bar text Color),目前无法做到这一点。您只能将状态栏的文本设为白色(UIStatusBarStyleLightContent)或黑色(UIStatusBarStyleDefault)。查看文档:

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplication_Class/#//apple_ref/c/tdef/UIStatusBarStyle

您可以在状态栏后面放置一个视图(按其他人的答案),但我认为这不是您所要求的。

答案 1 :(得分:0)

在AppDelegate中尝试这样做

UIView *addStatusBar = [[UIView alloc] init];
addStatusBar.frame = CGRectMake(0, 0, screenWidth, 20);
addStatusBar.backgroundColor = [UIColor grayColor]]; //assign here your color 
[self.window.rootViewController.view addSubview:addStatusBar];

答案 2 :(得分:0)

转到你的app info.plist

1)将基于视图控制器的状态栏外观设置为NO

然后在项目AppDelegate

中的状态栏上添加Costom View
UIView *statusBarViewObj = [[UIView alloc] init];
statusBarViewObj.frame = CGRectMake(0, 0, screenWidth, 20);
statusBarViewObj.backgroundColor = [UIColor orangeColor]];  
[self.window.rootViewController.view addSubview:statusBarViewObj];

答案 3 :(得分:0)

创建一个视图,将其放在状态栏所在的位置,并将其背景颜色设置为所需的颜色。例如:

目标C:

String[] requestNos = selectedRequests
                          .stream()
                          .map(r -> r.getRequestNo())
                          .toArray(String[]::new);

夫特:

UIView *statusBarView = [[UIView alloc]initWithFrame:CGRectMake(0, 0,
                        [UIApplication sharedApplication].statusBarFrame.size.width,
                        [UIApplication sharedApplication].statusBarFrame.size.height)];
statusBarView.backgroundColor  =  [UIColor greenColor]; // Replace with color you desire
[self.view addSubview:statusBarView];