Я пытаюсь добавить пользовательский UIBarButtonItem
к моему navigationItem. Эта кнопка будет доступна во всех моих контроллерах. поэтому вместо того, чтобы добавлять его к каждому методу 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];
, если я заменю один и тот же код блога в любом viewDidLoad
любого ViewController и изменить
[self.nav.navigationController.navigationItem setRightBarButtonItem:rightBarButtonItem];
By:
[self.navigationItem setRightBarButtonItem:rightBarButtonItem];
Он отлично работает. Любая идея Почему?
что нав? это viewcontroller? –
nav - мой UINavigationController – Legnus