如何在iPhone应用程序的UINavigationBar中添加图像

在我的应用程序中,我想在导航栏中添加图像(徽标)。 我正在使用XCode 4.2和iOS 5。

我知道UINavigationBarUIToolBar已经在iOS 5中进行了更改。所以iOS 4.2的UINavigationBar代码将无法在iOS 5中工作。

我想在4.2和5版本的UINavigationBar中支持显示图像。

我想在UINavigationBar显示图像,就像下面的截图一样。

导航栏图像

请在这方面提供帮助,如果有任何示例代码对我非常有帮助。

谢谢!!!

一种方法是使用UINavigationItem.titleViewUINavigationItem.rightBarButtonItem 。 喜欢这个 :

 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; 

在这里,我使用UIImageView作为自定义视图,但它可以是UIButton与自定义图像。

另一种不使用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; 

Swift版本:您可以创build一个协议扩展,以在视图控制器中使用该function

 protocol Customizable { var navigationItem: UINavigationItem { get } } extension Customizable { func setNavBarLogo() { let logo = UIImage(named: "logo") let logoImageView = UIImageView(image: logo) self.navigationItem.titleView = logoImageView } }