使用 objective c 更改状态栏的颜色
Change color of statusBar using objective c
我有一个标记为 navigationManager 的文件,它处理我的每个视图的 statusBar 和 navigationBar。实际的 navigationBar 工作正常,但 statusBar 出于某种原因只是全白。这是状态栏的导航管理器中的代码...
-(UINavigationBar *)getStatusBarWithX:(float)fX
Y:(float)fY
width:(float)fW
height:(float)fH {
UINavigationBar *barReturn = [[UINavigationBar alloc] initWithFrame:CGRectMake(fX, fY, fW, fH)];
barReturn.barStyle = UIStatusBarStyleLightContent;
[barReturn setBackgroundImage:[UIImage imageNamed:@"deepBlue.png"] forBarMetrics:UIBarMetricsDefault];
return barReturn;
}
然后在主视图控制器上,我像这样从导航管理器中提取代码...
float statusBarHeight = [UIApplication sharedApplication].statusBarFrame.size.height;
UINavigationBar *statusBar = [self.navigationManager getStatusBarWithX:0
Y:0
width:self.view.frame.size.width
height:statusBarHeight];
然后我只需将其添加到视图中
[self.view addSubview:statusBar];
然而,状态栏在导航栏上方只显示白色。我正在使用 objective c 并且不确定为什么现在要这样做。它最近才开始发生。
我想通了。我必须自己更改颜色而不是设置背景图片
而不是...
[barReturn setBackgroundImage:[UIImage imageNamed:@"deepBlue.png"] forBarMetrics:UIBarMetricsDefault];
我做了以下...
barReturn.backgroundColor = [UIColor colorWithRed:48.0/255.0 green:65.0/255.0 blue:151.0/255.0 alpha:1.0];
我有一个标记为 navigationManager 的文件,它处理我的每个视图的 statusBar 和 navigationBar。实际的 navigationBar 工作正常,但 statusBar 出于某种原因只是全白。这是状态栏的导航管理器中的代码...
-(UINavigationBar *)getStatusBarWithX:(float)fX
Y:(float)fY
width:(float)fW
height:(float)fH {
UINavigationBar *barReturn = [[UINavigationBar alloc] initWithFrame:CGRectMake(fX, fY, fW, fH)];
barReturn.barStyle = UIStatusBarStyleLightContent;
[barReturn setBackgroundImage:[UIImage imageNamed:@"deepBlue.png"] forBarMetrics:UIBarMetricsDefault];
return barReturn;
}
然后在主视图控制器上,我像这样从导航管理器中提取代码...
float statusBarHeight = [UIApplication sharedApplication].statusBarFrame.size.height;
UINavigationBar *statusBar = [self.navigationManager getStatusBarWithX:0
Y:0
width:self.view.frame.size.width
height:statusBarHeight];
然后我只需将其添加到视图中
[self.view addSubview:statusBar];
然而,状态栏在导航栏上方只显示白色。我正在使用 objective c 并且不确定为什么现在要这样做。它最近才开始发生。
我想通了。我必须自己更改颜色而不是设置背景图片
而不是...
[barReturn setBackgroundImage:[UIImage imageNamed:@"deepBlue.png"] forBarMetrics:UIBarMetricsDefault];
我做了以下...
barReturn.backgroundColor = [UIColor colorWithRed:48.0/255.0 green:65.0/255.0 blue:151.0/255.0 alpha:1.0];