Как вы управляете событиями в представлении UINavigationController для переключения представлений? - PullRequest
2 голосов
/ 08 апреля 2011

У меня есть UINavigationController с тремя видами и соответствующими кнопками на панели UINavigationBar для каждого вида. Поскольку я новичок в XCode, я пытаюсь понять, куда поместить код обработки событий для управления переключением между представлениями.

Просмотр A (root)

Перейти к B (кнопка)

Вид B

Назад (кнопка) Gotto View C (кнопка)

Вид C

Назад (кнопка)

Я вижу, как захватить событие при нажатии «Перейти к представлению B», но поскольку эта кнопка создается в представлении A, у него нет доступа к UINavigationController для переключения представлений.

Любые образцы или ссылки на дополнительную информацию приветствуются.

1 Ответ

2 голосов
/ 08 апреля 2011

Если я правильно понимаю ваш вопрос, взгляните на:

UINavigationControllerDelegate: http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationControllerDelegate_Protocol/Reference/Reference.html

UINavigationBarDelegate: http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationBarDelegate_Protocol/Reference/Reference.html

Если вы просто пытаетесь выдвинуть новый вид с помощью navigationController, это так просто (в вашей кнопке / действии GoToViewB):

YourNewViewController *yourNewViewController = [[YourNewViewController alloc] initWithNibName:nil bundle:nil];
[self.navigationController pushViewController:yourNewViewController animated:YES];
[yourNewViewController release];

Теперь вы должны быть в вашем новом ViewController, который будет иметь кнопку возврата, чтобы вернуться к предыдущему виду. Вы можете использовать ту же логику, что и выше, чтобы перейти к следующему представлению и т. Д. Если вы хотите использовать контроллер программно, вы можете использовать:

[self.navigationController popViewControllerAnimated:YES];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...