如何从情节提要中更改 UINavigationBar 标题和后退按钮颜色?

Posted

技术标签:

【中文标题】如何从情节提要中更改 UINavigationBar 标题和后退按钮颜色?【英文标题】:How to change UINavigationBar Title and Back Button Colour from Storyboard? 【发布时间】:2018-12-23 05:18:50 【问题描述】:

从 Storyboard 更改 UINavigationBar 的 Title 和 Back 按钮颜色的最佳方法是什么?

【问题讨论】:

我希望这个链接可以帮助你,***.com/a/51062388/2323806***.com/a/21046988/2323806 【参考方案1】:

从 Storyboard 更改 UINavigationBar 的 Title 和 Back 按钮颜色的最佳方法是什么?

标题的颜色是导航栏的一个属性,所以选择导航控制器的导航栏:

然后看一下Attributes Inspector,在这里可以设置标题颜色:

后退按钮的颜色由色调控制。您可以在故事板的文件检查器中设置全局色调颜色:

如果您想为整个应用程序设置一次标题和色调颜色,这些设置应该可以正常工作,但是如果您想为不同的视图控制器设置不同的颜色,那么您将不得不编写一些代码.如果这是您经常需要做的事情,并且您希望能够在 IB 中设置颜色,您可以考虑编写自己的 UIViewController 子类,所有视图控制器都从该子类派生。为您要设置的颜色提供通用控制器类inspectable 属性,当然还可以添加适当设置它们的代码。为此,您可能需要使用 UIAppearance

但请记住,这些颜色还不是UIViewController 的属性的原因是这些颜色应该有助于为您的应用提供一致的外观;从一个场景更改应用的配色方案对您的用户不利。

【讨论】:

【参考方案2】:

你可以通过代码做到这一点

    navigationController?.navigationBar.backgroundColor = UIColor.red


    navigationController?.navigationBar.isTranslucent = false

    let button1 = UIBarButtonItem(image: UIImage(named: "search.png"), style: .plain, target: self, action: #selector(barBut)) // action:#selector(Class.MethodName) for swift 3

    self.navigationItem.rightBarButtonItem  = button1

    navigationController?.navigationBar.tintColor = .white

【讨论】:

以上是关于如何从情节提要中更改 UINavigationBar 标题和后退按钮颜色?的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式更改使用自动布局在情节提要上创建的 UIImageView 的大小?

XCode - 在情节提要中更改默认全局字体

如何更改情节提要中 tableHeaderView 的高度?

如何摆脱或更改情节提要以编程方式创建 segue

从情节提要加载 UILabel,无法更改 cellForRowAtIndexPath 中的框架

如何使用情节提要更改wpf中网格行的高度