独立改变导航栏的颜色

Changing Color of Navigation Bar Independently

在我开始之前,请知道我已经通读了许多关于该主题的 Whosebug 帖子,但我一直无法弄清楚如何将许多答案应用于我的特定场景。

在我的 Storyboard 中,我有一个带有嵌入式导航控制器的 Table 视图,以及一个到另一个带有嵌入式导航控制器的 Table 视图的 segue。根据我的应用程序设计,我希望第一个 table 视图中的导航栏具有与第二个 table 视图中的导航栏不同的背景(色调)颜色。这是我的布局;

根据以上内容,我将第一个导航控制器栏的颜色设置为绿色,将第二个导航控制器栏的颜色设置为蓝色。但是,当我构建和 运行 应用程序时,第二个 Table 视图有一个 green 导航控制器,而我在 Interface Builder 中将其设置为蓝色。

我尝试在我的 SecondTableViewController.swift 文件中使用以下代码;

navigationController.navigationBar.barTintColor = UIColor.blueColor() self.navigationBar.tintColor = UIColor.blueColor()

这可能吗?还是我误解了导航控制器的工作原理?

要一次将所有 UINavigationBar 实例设置为相同的颜色,请执行以下操作:

UINavigationBar.appearance().barTintColor = UIColor.greenColor()

要按实例设置(根据需要),试试这个:

self.navigationBar.tintColor = UIColor.blueColor()
self.navigationController.navigationBar.translucent = false