У меня есть 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;
Может кто-нибудь пролить свет на это?
Заранее спасибо.