我的问题与这个问题ViewController title color will change change color when back button clicked 中解释的完全一样
我有 Navigation Controller -> View Controller (#1) -> Segue 到另一个 View Controller (#2)
View Controller #2 的标题颜色不同。
当我点击 View Controller #2 中的 Back 按钮返回到 Home View (#1) 时,它的标题颜色没有更改为它应该的颜色,但它仍然是 View Controller #2 的标题颜色。
我已经在属性检查器中设置了正确的标题颜色。我还在 Home View Controller 的 viewWillAppear 中专门设置标题颜色,但它的颜色仍然没有改变。
我想知道我还需要做什么?有没有
我已经在 Home View Controller 的 viewWillAppear 中添加了将标题颜色设置为白色的代码
override func viewWillAppear(_ animated: Bool){
super.viewWillAppear(animated)
print("HomeViewController: viewWillAppear()")
// Mark: - Set navigation bar title color
setTitleColorWhite(vc: self)
activityIndicator.startAnimating()
fetchDetails()
}
这是 setTitleColorWhite
// Mark: - Set navigation bar title color
func setTitleColorWhite(vc: UIViewController){
let attrs = [
NSAttributedStringKey.foregroundColor: UIColor(red:1.00, green:1.00, blue:1.00, alpha:1.0),
NSAttributedStringKey.font: UIFont(name: "SFProText-Medium", size: 17.0)!
]
vc.navigationController?.navigationBar.titleTextAttributes = attrs
}
最佳答案
更新 HomeViewController
的 viewDidAppear
中的 color
而不是 viewWillAppear
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
setTitleColorWhite(vc: self)
}
关于iOS,Swift 4,通过单击后退按钮返回时,导航 Controller 标题颜色不会更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51623362/