【问题标题】:UINavigationBar backgroundColor not working with UITabBarUINavigationBar backgroundColor 不适用于 UITabBar
【发布时间】:2016-10-13 10:53:03
【问题描述】:

我正在使用 UINavigationController 并在 didFinishLaunching... 中设置背景颜色:

self.navController.backgroundColor = UIColor.green

它在第一个视图控制器中运行良好,如第一张图片所示。在第二个视图控制器中(只是使用按钮中的 segue 推动)我有一个 UITabBar(没有 UITabBarController)并且背景颜色不起作用。如果我删除 UITabBar 它可以工作。

Correct navigation bar background color

Wrong navigation bar background color

该项目不包含任何其他代码。如果我使用 barTintColor 而不是 backgroundColor,它会起作用,但我认为这看起来不太好。

有人知道我该如何解决这个问题吗?

【问题讨论】:

  • 请用您用于更改 bartintcolor 的代码更新您的问题

标签: ios uinavigationcontroller uinavigationbar uitabbar


【解决方案1】:

您必须为导航栏的背景颜色设置属性 TintColor

在 Objective-c 中

[[UINavigationBar appearance] setTintColor:[UIColor greenColor]];

迅速

navigationController.navigationBar.barTintColor = UIColor.greenColor()

【讨论】:

    【解决方案2】:
    self.navigationController?.navigationBar.barTintColor = UIColor.GreenColor()
    

    UINavigationBar.appearance().barTintColor = .blackColor()
    

    或者

    [navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor whiteColor]}];
    

    【讨论】:

      【解决方案3】:

      你可以像这样使用 barTintColor 属性:

      self.navigationController?.navigationBar.barTintColor = UIColor.green
      

      【讨论】:

      • barTintColor 实际上并没有打印正确的颜色,只是一种色调。如何为标签栏设置精确的所需颜色?任何的想法? (我不想使用图像作为背景,因为我想动态设置它)
      • 好吧,你实际上需要设置barTintColorisTranslucent = false ...
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-15
      • 1970-01-01
      • 1970-01-01
      • 2014-07-09
      • 1970-01-01
      • 2015-04-20
      相关资源
      最近更新 更多