ios - 独立改变导航栏的颜色

标签 ios swift uinavigationbar

在开始之前,请注意,我已经阅读了许多有关该主题的 StackOverflow 帖子,但我一直无法弄清楚如何将许多答案应用于我的具体场景。

在我的 Storyboard中,我有一个带有嵌入式导航 Controller 的 TableView ,以及一个到另一个带有嵌入式导航 Controller 的 TableView 的序列。根据我的应用程序的设计,我正在寻求第一个 TableView 中的导航栏与第二个 TableView 中的导航栏具有不同的背景(色调)颜色。这是我的布局;

Multiple Navigation Controllers

根据上述内容,我将第一个导航 Controller 栏的颜色设置为绿色,将第二个导航 Controller 栏的颜色设置为蓝色。但是,当我构建并运行应用程序时,第二个 TableView 有一个绿色导航 Controller ,而我在 Interface Builder 中将其设置为蓝色。

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

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

这可能吗?或者我误解了导航 Controller 的工作原理?

最佳答案

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

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

要设置每个实例(根据需要),请尝试以下操作:

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

关于ios - 独立改变导航栏的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30895685/

相关文章:

swift - 如何使用 SwiftUI 从 Apple Watch Digital Crown 触发 @State 变量更改的函数?

ios - 通过 iPhone 的 IP 地址进行地理定位

ios - 更改 UIBarbuttonItem 颜色

ios - 导航 Controller 中嵌入的 View 中的 UINavigationBar - 添加自定义 View

iOS:标签栏中的 popToRootViewControllerAnimated 第二项

ios - 在具有委托(delegate)的 View Controller 之间传递多个值

ios - 为什么 Core Data 中没有 Integer 8 NSAttributeDescription attributeType?

ios - 我应该如何快速获得 OAuth2.0 访问 token ?

iphone - UINavigationBar 右键选择

ios - tvOS 中的 pressesEnded 未被调用