使用目标c改变状态栏的颜色



我有一个标记为navigationManager的文件,用于处理每个视图的statusBar和navigationBar。实际的导航栏工作正常,但状态栏由于某些原因完全是白色的。下面是navigationManager中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;

}

然后在主视图控制器上,我从navigationManager中提取代码,像这样…

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];

相关内容

  • 没有找到相关文章

最新更新