如何在IPhone应用程序的UINavigationBar中添加图像
在我的应用程序中,我想在导航栏中添加图像(徽标)。我正在使用XCode 4.2和iOS 5 我知道,如何在IPhone应用程序的UINavigationBar中添加图像,iphone,objective-c,uinavigationcontroller,uiimage,uinavigationbar,Iphone,Objective C,Uinavigationcontroller,Uiimage,Uinavigationbar,在我的应用程序中,我想在导航栏中添加图像(徽标)。我正在使用XCode 4.2和iOS 5 我知道,UINavigationBar,UIToolBar在iOS 5中已被更改。因此,iOS 4.2UINavigationBarcode在iOS 5中不起作用 我想在4.2和5版本中都支持在UINavigationBar中显示图像 我想在UINavigationBar中显示图像,如下面的屏幕截图所示 请在这方面提供帮助,如果有任何示例代码意味着它对我非常有帮助 谢谢 一种方法是使用UINavigat
UINavigationBar
,UIToolBar
在iOS 5中已被更改。因此,iOS 4.2UINavigationBar
code在iOS 5中不起作用
我想在4.2和5版本中都支持在UINavigationBar
中显示图像
我想在UINavigationBar
中显示图像,如下面的屏幕截图所示
请在这方面提供帮助,如果有任何示例代码意味着它对我非常有帮助
谢谢 一种方法是使用
UINavigationItem.titleView
和UINavigationItem.rightbuttonItem
。像这样:
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版本:
您可以创建协议扩展,以便在视图控制器中使用该函数
protocol Customizable {
var navigationItem: UINavigationItem { get }
}
extension Customizable {
func setNavBarLogo() {
let logo = UIImage(named: "logo")
let logoImageView = UIImageView(image: logo)
self.navigationItem.titleView = logoImageView
}
}
这对iOS4和iOS5都有效吗?您想添加的是
clingle
徽标,而不是UINavigationbar的背景图像吗?至少在模拟器上是这样。我看不出有什么理由不这样做。我不明白你的第二个问题。谢谢。但我注意到您的示例中没有发布item对象。我使用的是ARC…:)@MartinReichla只是不,你不应该说@“youtimage.png”@“yourimage”就足够了,iOS将找到要加载的正确映像。