如何使用set RightBarButtonItem在Navbar上添加自定义右对齐图像?

时间:2012-06-21 18:31:26

标签: ios5 uinavigationbar uibarbuttonitem uinavigationitem appearance

我在xcode 4.3中定位到iOS 5.1,我试图在我的应用中的所有导航栏的右侧显示一个徽标。

首先,我在每个视图控制器中使用以下代码使其正常工作

UIButton* fakeButton = (UIButton *) [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"driftlogo_header.png"]];
UIBarButtonItem *fakeButtonItem = [[UIBarButtonItem alloc] initWithCustomView:fakeButton];
self.navigationItem.rightBarButtonItem = fakeButtonItem;

问题在于我必须在每个视图控制器中执行此操作,但我的一些视图不属于分类。我想减少代码,并希望使用iOS 5外观属性从app delegate全局设置。我试过了

UIButton* fakeButton = (UIButton *) [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"driftlogo_header.png"]];
UIBarButtonItem *fakeButtonItem = [[UIBarButtonItem alloc] initWithCustomView:fakeButton];
[[UIBarButtonItem appearance] setRightBarButtonItem:fakeButtonItem animated:YES];

不起作用,错误无法识别的选择器发送到实例。

的错误相同
UIButton* fakeButton = (UIButton *) [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"driftlogo_header.png"]];
UIBarButtonItem *fakeButtonItem = [[UIBarButtonItem alloc] initWithCustomView:fakeButton];
[[UINavigationBar appearance] setRightBarButtonItem:fakeButtonItem];

从app delegate设置此功能的正确方法是什么?

提前致谢。

0 个答案:

没有答案