Просмотр цепочки контроллеров

У меня есть навигационный контроллер с представлением корневой таблицы, который имеет несколько ссылок. Нажатие на каждую ссылку перемещает к следующему представлению (перемещая его в стек контроллера навигации). Но предположим, что в этом "следующем представлении" у меня есть кнопка UIB, которая должна перенести меня дальше в другое представление (путем нажатия на стек того же контроллера навигации)...

View Controller -> первый вид -> второй вид -> третий вид..........

Теперь я могу легко получить доступ к контроллеру навигации, когда имею дело с первым представлением (и успешно помещаю его в стек контроллера навигации), потому что он был создан в том же самом файле. В чем мое настоящее сомнение - как получить доступ к контроллеру навигации в контроллере удаленного обзора (например, в третьем или четвертом представлении и т. Д.)? Обратите внимание, что я не использую какой-либо отдельный делегат. Все методы панели навигации были реализованы в одном файле и подключены к контроллеру навигации через розетку.

1 ответ

Когда вы помещаете ViewController в NavigationController, для ViewController автоматически устанавливается свойство navigationController. Это означает, что вы можете получить доступ к одному и тому же NAvigationController независимо от того, где вы находитесь в стеке.

-Обновить-

navigationController

В каждом UIViewController вы можете получить доступ к этому свойству. Таким образом, в любом другом UIViewController, который был помещен в стек, вы можете просто сделать это:

[self.navigationController pushViewController:othercontroller animated:YES];

Посмотрите документацию для UIViewController, чтобы увидеть, какие другие магические свойства у вас есть.

Другие вопросы по тегам