我的基本View控制器带有嵌入式导航控制器所以我设置了ist collor,当执行segue时,新视图拥有导航栏颜色并且它会改变它但是在返回到后视图之后这个视图需要来自previuos的颜色。 我正在设置导航栏的颜色,如下所示
override func viewDidLoad() {
self.navigationController?.navigationBar.barTintColor = appDelegate.verde
}
它在Appdelegate中定义的颜色为绿色 在下一个中,我以与上面相同的方式更改导航栏的颜色。
答案 0 :(得分:1)
您更改UINavigationBar
的颜色并保持更改,除非您明确将其更改为其他内容。 UINavigationBar
不依赖viewControllers
- 它在它们之上。
为了在每个viewController
之间来回导航时使用不同的颜色,请在UINavigationBar
中更改viewWillAppear(_ animated: Bool)
的颜色。
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
self.navigationController?.navigationBar.barTintColor = appDelegate.verde
}
答案 1 :(得分:0)
您可以将此代码放在viewDidLoad
中,而不是viewWillAppear
。每次要呈现视图时都会调用它,因此它将覆盖其他视图的任何颜色更改。