Use same UIImage with multiple theme base app by just applying UIColor to UIImage instance as following.
// *** Create an UIImage instance with RenderingMode AlwaysTemplate *** UIImage *imgMenu = [[UIImage imageNamed:@"iconMenu"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; // *** Now Apply `tintColor` to `UIImageView` of UIImageView or UIButton and convert image in given color *** [btn setImage:imgMenu forState:UIControlStateNormal]; // Set UIImage in UIButton. [button.imageView setTintColor:[UIColor blueColor]]; // It changes image color of UIButton to blue color
Now lets say you want to do same with UIImageView then use following code
[imageView setImage:imgMenu]; // Assign UIImage to UIImageView [imageView setTintColor:[UIColor greenColor]]; // Change imageview image color to green. [imageView setTintColor:[UIColor redColor]]; // Change imageview image color to red.