UIBarButtonItem image stays blue and not the original color of the image?

Swift 3:

let image : UIImage? = UIImage.init(named: "heart.png")!.withRenderingMode(.alwaysOriginal)

You can it from assets as well. Go to Assets.xcassets >> Select the image that is being used as barbutton item image. Tap on attribute inspector in right side panel. Choose render as to orignial image. It will be default earlier. You will now see colored image.


By default, image in UINavigationBar's bar button items is rendered using template mode. You can set it to original.

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[[UIImage imageNamed:@"info.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]
                                                                         style:UIBarButtonItemStylePlain
                                                                        target:self
                                                                        action:@selector(info:)];

I know this is too late to answer this question but I see there is a very simple way to solve this issue instead of doing some changes in the code

using Xcode Go to the Assets --Select Image --- check Render as and select Original image instead of default property .

enter image description here