UINavigationController标题不使用正确的色调

时间:2016-10-19 17:37:51

标签: ios uinavigationcontroller

我已将导航栏的默认色调调整为白色,并适当调整每个导航栏元素的颜色:

Navigation bar with appropriately tinted elements

但是,当我推送到新的视图控制器并尝试设置title属性时,不再应用色调:

Navigation bar with inappropriately tinted title

我知道我可以提供一个标签或类似于我的视图控制器的titleView属性来做这个伎俩,但这是很多工作(相对来说),在我看来,文本应该只是默认为导航栏的色调。我错过了别的什么吗?或者这种标准行为需要自定义titleView来覆盖?

2 个答案:

答案 0 :(得分:1)

色调属性不会影响标题的颜色。要全局设置标题颜色(以及字体等其他属性),您可以设置titleTextAttributes外观的UINavigationBar属性以满足您的需要。只需将此代码放在AppDelegate或适当的其他地方,在启动时调用:

斯威夫特3:

UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor.white]

Swift 2

UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]

答案 1 :(得分:0)

你没有正常工作。但是你应该为第二个视图设置颜色。您可以使用此代码来解决您的问题。 在第二个视图中,编写此代码以设置导航标题的颜色和字体。

navigationController!.navigationBar.titleTextAttributes = ([NSFontAttributeName: UIFont(name: "Helvetica", size: 25)!,NSForegroundColorAttributeName: UIColor.white])