如何为特定导航控制器设置色调颜色?
因为使用:
let nav = UINavigationController(rootViewController: feedvc)
nav.navigationBar.appearance().barTintColor = UIColor(red: 0.1, green: 0.22, blue: 0.212, alpha: 1)
颜色将设置为所有导航控制器,不是吗?
我已经尝试过这段代码,但它无效!为什么?
{{1}}
答案 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
颜色。