How to add image in UINavigationBar in IPhone app
Swift version: You can create a protocol extension for using the function in your view controllers
protocol Customizable {
var navigationItem: UINavigationItem { get }
}
extension Customizable {
func setNavBarLogo() {
let logo = UIImage(named: "logo")
let logoImageView = UIImageView(image: logo)
self.navigationItem.titleView = logoImageView
}
}
One way to do this is to use UINavigationItem.titleView
and UINavigationItem.rightBarButtonItem
. Like this :
viewController.navigationItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourimage.png"]];
UIBarButtonItem * item = [[UIBarButtonItem alloc] initWithCustomView:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourimage2.jpg"]]];
viewController.navigationItem.rightBarButtonItem = item;
Here I am using UIImageView
as custom view, but it can be UIButton
with custom image.
Another way without using a viewController
// Create your image
UIImage *image = [UIImage imageNamed: @"logo.png"];
UIImageView *imageview = [[UIImageView alloc] initWithImage: image];
// set the image view to the title view
self.navigationItem.titleView = imageview;