NavigationBar外观()(淡色...)

时间:2016-07-07 15:59:08

标签: ios swift

如何为特定导航控制器设置色调颜色?

因为使用:

let nav = UINavigationController(rootViewController: feedvc)
nav.navigationBar.appearance().barTintColor = UIColor(red: 0.1, green: 0.22, blue: 0.212, alpha: 1)

颜色将设置为所有导航控制器,不是吗?

我已经尝试过这段代码,但它无效!为什么?

{{1}}

2 个答案:

答案 0 :(得分:1)

您可以直接访问barTintColor来设置特定控制器的色调:

nav.navigationBar.barTintColor = UIColor(red: 0.1, green: 0.22, blue: 0.212, alpha: 1)

答案 1 :(得分:1)

appearance()用于在全局范围内更改内容,并且它对创建的某些内容的 next 实例生效。

因此,例如,如果您在一个对象的viewDidLoad中设置它,它与您应用的外观()类型相同,则因为该对象已经创建,所以为时已晚。但是在你的情况下,你在一个实例而不是一个类上调用它,所以它无论如何都不会工作,因为它是一个类方法而不是一个对象方法。

这就是为什么它不能在您的代码中工作,更改刚设置的nav.navigationBar.barTintColor颜色。