ilan
ilan

Reputation: 4462

How to add custom NOT TINTED image to UIBarButtonItem

I want to add an image to UIBarButtonItem.

MY CODE:

        let button1 = UIBarButtonItem(image: UIImage(named: "icon1"), style: .Plain, target: self, action: "Onb1ClickListener")
    let button2 = UIBarButtonItem(image: UIImage(named: "icon2"), style: .Plain, target: self, action: "Onb2ClickListener")
    let button3 = UIBarButtonItem(image: UIImage(named: "icon3"), style: .Plain, target: self, action: "Onb3ClickListener")

    self.navigationItem.setRightBarButtonItems([button1, button2, button3], animated: false)
    self.navigationItem.setHidesBackButton(true, animated: false)
  1. this works but i get tinted blue images. how can i get the original images not tinted?

  2. How can i add an image to the left of the UINavigationBar (not a bar button just a image)?

Thanks

Upvotes: 2

Views: 819

Answers (1)

Dániel Nagy
Dániel Nagy

Reputation: 12045

The default image rendering case in a UIBarButtonItem is UIImageRenderingMode.AlwaysTemplate. So you have to create an image with the rendering options of UIImageRenderingMode.AlwaysOriginal, and set that image to the UIBarButtonItem. So:

let customImage = UIImage(named: "icon1")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
let button1 = UIBarButtonItem(image: customImage, style: .Plain, target: self, action: "Onb1ClickListener")

Upvotes: 6

Related Questions