how can I set the tint color of right UIBarButtonI

2019-09-16 07:09发布

问题:

I'm adding a right bar button to my navigation controller with the following code in viewDidLoad:

var b = UIBarButtonItem(
        image: UIImage(named: "settings"),
        style: .plain,
        target: self,
        action: #selector(sayHello(sender:))
    )

    self.navigationItem.rightBarButtonItem = b

my settings png file is white, but when I run the app, I see it in default blue color. Anyway, I want to change it to red. How can I do it?

I tried this:

let navigationBarAppearnce = UINavigationBar.appearance()
navigationBarAppearnce.tintColor = UIColor.red

but it didn't work. What's the proper way of doing that?

回答1:

Have you tried:

let navigationController = UINavigationController() //not how you should actually get it, but just for purpose of example
navigationController.navigationBar.tintColor = UIColor.red

Edit:

I actually use the following:

navigationController.navigationBar.barTintColor = UIColor.red