如何更改DetailViewController中的后退按钮颜色?

时间:2017-09-26 06:30:48

标签: ios swift3 uinavigationcontroller

我想更改DetailViewController中后退按钮的颜色。 我使用的是Swift 3和Xcode 8.3.3;但这不起作用:

navigationItem.backBarButtonItem?.tintColor = UIColor.darkGray

这样做的方法是什么?

我也尝试过:

navigationItem.leftBarButtonItem?.tintColor = UIColor.darkGray

但无济于事。

实际上我在调试器中验证了navigationItem.backBarButtonItem为零。

以下是我上次使用viewDidLoad进行试用的完整代码:

override func viewDidLoad() {
    super.viewDidLoad()

    self.navigationController?.navigationBar.tintColor = UIColor.darkGray
}

以下是重现问题的简单步骤:

来自Xcode 8.3.3:

  • 创建一个新的Xcode项目

  • 选择Master-Detail应用程序。您不需要Core-Data。

  • 创建项目。

  • 在DetailViewController.swift的viewDidLoad()函数中,添加以下行之一:

    self.navigationItem.backBarButtonItem?.tintColor = UIColor.darkGray
    self.navigationController?.navigationBar.tintColor = UIColor.darkGray
    

    当您尝试DetailViewController的“后退”按钮保持蓝色时,您将看到。

    如果你看到不同的东西,那么我的Xcode必须有些奇怪。

3 个答案:

答案 0 :(得分:1)

我能够用:

来改变它
self.navigationController?.navigationBar.tintColor = UIColor.white

希望这适合你!

修改

创建项目后,您将在故事板中看到以下内容:

enter image description here

我将其更改为以下内容:

enter image description here

这给了我以下输出:

enter image description here

以下是我在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()
}

希望现在已经足够清楚了。

答案 1 :(得分:0)

检查您是否在故事板中正确嵌入了导航控制器,然后在代码中写入detailviewcontroller的viewDIDLoad:

self.navigationController?.navigationBar.tintColor = UIColor.brown

工作正常

答案 2 :(得分:0)

确保您已正确嵌入导航控制器。同时确保您已将正确的控制器类设置为更安全的一面。

enter image description here

在控制器类中,只需添加以下行:

import UIKit

class First: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
self.navigationController?.navigationBar.tintColor = UIColor.darkGray
        // Do any additional setup after loading the view.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

输出 - :

enter image description here

enter image description here