Добавьте этот код в ваш метод viewDidLoad rootview и внедрите cancelMethod в контроллере rootview. Он будет доступен во всех контроллерах представления. Вы можете отрегулировать расположение кнопки, изменив рамку кнопки. Для изменения ориентации вы должны вручную отрегулировать расположение кнопки.
я есть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;
Может кто-то пролить свет на это?
Заранее спасибо.