我想向我的导航项添加一个自定义UIBarButtonItem
。这个按钮将在我所有的视图控制器中可用。所以而不是将其添加到每个viewDidLoad
方法中的每个viewDidLoad
我试图将其添加到我的应用程序委托类中的一个单独的方法,我将在viewDidLoad
方法中调用。 这里是我的代码:如何添加自定义uibarbuttonItem到我的导航项目中的所有视图控制器?
UIImage* image = [UIImage imageNamed:@"some-header-icon.png"];
CGRect frame = CGRectMake(0,0,image.size.width,image.size.height);
UIButton* hellBtn = [[UIButton alloc] initWithFrame:frame];
[hellBtn setBackgroundImage:image forState:UIControlStateNormal];
[hellBtn setShowsTouchWhenHighlighted:NO];
[hellBtn addTarget:self action:@selector(goToHell) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem* rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:hellBtn];
[self.nav.navigationController.navigationItem setRightBarButtonItem:rightBarButtonItem];
[hellBtn release];
[rightBarButtonItem release];
如果我更换了相同的代码博客中任何的viewController的任何viewDidLoad
并改变
[self.nav.navigationController.navigationItem setRightBarButtonItem:rightBarButtonItem];
通过:
[self.navigationItem setRightBarButtonItem:rightBarButtonItem];
它完美。 任何想法为什么?
什么是导航?它是一个视图控制器? –
nav是我的UINavigationController – Legnus