【问题标题】:iOS Navigation Bar background coloriOS 导航栏背景颜色
【发布时间】:2015-05-14 18:15:21
【问题描述】:

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

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

【问题讨论】:

  • [[UINavigationBar 外观] setBarTintColor:color]
  • 不,我已经尝试过了,它不起作用..
  • 它有效,您必须确保在加载视图控制器之前设置外观代理,例如在您的应用委托 applicationDidFinishLaunching 方法中
  • 在 AppDelegate 中我给出了这样的 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [[UINavigationBar appearance] setBackgroundColor:[UIColor colorWithRed:189.0/255.0 green: 105.0/255 蓝色:105.0/255 阿尔法:1.0]]; [[UINavigationBar 外观] setBarTintColor:[UIColor colorWithRed:189.0/255.0 green:105.0/255 blue:105.0/255 alpha:1.0]];

标签: ios uiviewcontroller uinavigationbar


【解决方案1】:

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

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

【讨论】:

  • 我尝试了 Nikos,但顶部栏(运营商、时间、电池)仍然显示为白色,没有按我的意愿显示。
【解决方案2】:

试试这个,

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

【讨论】:

    猜你喜欢
    • 2020-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多