我正在使用一个选择器视图,允许用户为整个应用程序选择颜色主题。
我计划改变导航栏的颜色,背景和可能的标签栏(如果可能的话)。
我一直在研究如何做到这一点,但找不到任何Swift的例子。谁能给我一个代码的例子,我需要用来改变导航栏的颜色和导航栏的文本颜色?
选取器视图已经设置好,我正在寻找更改UI颜色的代码。
我正在使用一个选择器视图,允许用户为整个应用程序选择颜色主题。
我计划改变导航栏的颜色,背景和可能的标签栏(如果可能的话)。
我一直在研究如何做到这一点,但找不到任何Swift的例子。谁能给我一个代码的例子,我需要用来改变导航栏的颜色和导航栏的文本颜色?
选取器视图已经设置好,我正在寻找更改UI颜色的代码。
当前回答
在Swift 2中
在导航栏中更改颜色,
navigationController?.navigationBar.barTintColor = UIColor.whiteColor()
在项目导航栏中更改颜色,
navigationController?.navigationBar.tintColor = UIColor.blueColor()
or
navigationController!.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.blueColor()]
其他回答
使用外观API和barTintColor颜色。
UINavigationBar.appearance().barTintColor = UIColor.greenColor()
在Swift 2中
在导航栏中更改颜色,
navigationController?.navigationBar.barTintColor = UIColor.whiteColor()
在项目导航栏中更改颜色,
navigationController?.navigationBar.tintColor = UIColor.blueColor()
or
navigationController!.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.blueColor()]
UINavigationBar.appearance().barTintColor
为我工作
如果你有定制的导航控制器,你可以使用上面的代码片段。 在我的例子中,我使用了如下的代码段。
Swift 3.0, XCode 8.1版本
navigationController.navigationBar.barTintColor = UIColor.green
导航栏文本:
navigationController.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.orange]
这是非常有益的谈话。
我写这篇文章是为了那些仍然对这里的解决方案有问题的人。
我使用的是Xcode版本11.4 (11E146)。为我工作的是:
navigationController?.navigationBar.barTintColor = UIColor.white
navigationController?.navigationBar.tintColor = UIColor.black
但是!如果你将storyboard中的barTintColor设置为“default”以外的任何值,这两行代码将不起作用。
小心,在Storyboard中设置回默认的barTintColor。 哦,苹果……