我在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设置此功能的正确方法是什么?
提前致谢。