Просмотр цепочки контроллеров - PullRequest
0 голосов
/ 14 июля 2010

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

Просмотр контроллера -> первый вид -> второй вид -> третий вид ..........

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

1 Ответ

1 голос
/ 14 июля 2010

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

-Update-

navigationController

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

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

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

...