在我的应用中,我想在导航栏中添加图片(徽标)。我正在研究XCode 4.2和iOS 5。
我知道{5}已更改了UINavigationBar
,UIToolBar
,因此iOS 4.2 UINavigationBar
代码在iOS 5中无效。
我想在4.2和5版本的UINavigationBar
中支持显示图像。
我希望在UINavigationBar
中显示图片,如下面的屏幕截图所示。
请在这方面提供帮助,如果有任何示例代码,则对我非常有帮助。
感谢!!!
答案 0 :(得分:78)
执行此操作的一种方法是使用UINavigationItem.titleView
和UINavigationItem.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
使用自定义图片。
答案 1 :(得分:33)
不使用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;
答案 2 :(得分:4)
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
}
}