Добавьте этот код в ваш метод 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;

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

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

Ответы на вопрос(8)

Ваш ответ на вопрос