Добавление той же кнопки ко всем контроллерам представления в UINavigationController

У меня есть UINavigationController (для использования как страница мастера), который я создаю программно, и мне нужно отобразить кнопку «Отмена», чтобы отменить процесс в любом UIViewController .

Создание UINavigationController :

FirstVC *firstVC = [[[FirstVC alloc] initWithNibName:@"FirstPage" bundle:nil] autorelease];
firstVC.delegate = self;

navigationController = [[UINavigationController alloc] initWithRootViewController:firstVC];
[self.view addSubview:navigationController.view];

Добавление кнопки отмены:

UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelRequestNewLeave:)];
navigationController.topViewController.navigationItem.rightBarButtonItem = cancelButton;
[cancelButton release];

Но когда я нажимаю вторую страницу на UINavigationController , кнопка отмены не отображается на UINavigationBar . Если я вернусь на первую страницу, кнопка отмены будет там. Так что, видимо, кнопка добавлена ​​только для первого просмотра. Я считаю, что это потому, что я не создаю подкласс UINavigationController , потому что мне нужно использовать его в подпредставлении. Но я не знаю, как установить rightBarButtonItem в UINavigationController , который создается программно.

navigationController.topViewController.navigationItem.rightBarButtonItem = cancelButton;

Может ли кто-нибудь пролить свет на это?

Заранее спасибо.

29
задан Dharmesh Dhorajiya 12 March 2015 в 12:54
поделиться