我想更改 DetailViewController 中后退按钮的颜色。 我正在使用 Swift 3 和 Xcode 8.3.3;但这不起作用:
navigationItem.backBarButtonItem?.tintColor = UIColor.darkGray
有什么方法可以做到?
我也试过:
navigationItem.leftBarButtonItem?.tintColor = UIColor.darkGray
但无济于事。
实际上我在调试器中验证了 navigationItem.backBarButtonItem 是 nil。
这是我上次使用 viewDidLoad 的完整代码:
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.navigationBar.tintColor = UIColor.darkGray
}
这里是重现我的问题的一个简短的分步方法:
来自 Xcode 8.3.3:
创建一个新的 Xcode 项目
选择主从应用程序。你不需要核心数据。
创建项目。
在 DetailViewController.swift 的 viewDidLoad() 函数中,添加以下行之一:
self.navigationItem.backBarButtonItem?.tintColor = UIColor.darkGray self.navigationController?.navigationBar.tintColor = UIColor.darkGray
当您尝试时,您会看到 DetailViewController 的后退按钮保持蓝色。
如果您看到不一样的东西,那么我的 Xcode 一定有问题。
最佳答案
我可以通过以下方式更改它:
self.navigationController?.navigationBar.tintColor = UIColor.white
希望这对你有用!
编辑:
创建项目后,您将在 Storyboard中看到以下内容:
我将其更改为以下内容:
这给了我以下输出:
下面是我在 DetailViewController 中的 viewDidLoad()
代码:
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.navigationBar.tintColor = UIColor.red
// Do any additional setup after loading the view, typically from a nib.
configureView()
}
希望现在已经足够清楚了。
关于ios - 如何更改详细 View Controller 中的后退按钮颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46419286/