iOS 导航栏背景色

iOS Navigation Bar background color

我是 iOS 开发的新手,我遇到了一个奇怪的问题。在 viewDidLoad

我写过这样的代码

self.navigationController.navigationBar.backgroundColor= [UIColor colorWithRed:189.0/255.0 green:105.0/255 blue:105.0/255 alpha:1.0];

这工作正常并改变了导航栏的背景颜色,问题是在导航栏的顶部有白色条显示(有运营商、电池、时间),我希望背景颜色也改变。 ..所以我尝试了下面的代码

[[UINavigationBar appearance] setBackgroundColor:[UIColor colorWithRed:189.0/255.0 green:105.0/255 blue:105.0/255 alpha:1.0]];

但没有任何变化,它显示相同的白色背景颜色,我想知道我做错了什么

您应该使用 barTintColor 属性 来更改导航栏背景颜色和状态栏背景颜色。

[[UINavigationBar appearance] setBarTintColor:[UIColor colorWithRed:189.0/255.0 green:105.0/255 blue:105.0/255 alpha:1.0]];

试试这个,

[[UINavigationBar appearance] setBarTintColor:[UIColor yellowColor]];

self.navigationController.navigationBar.barTintColor = [UIColor blueColor];
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
self.navigationController.navigationBar.translucent = NO;

[self.navigationController.navigationBar setBarStyle:UIStatusBarStyleLightContent];