2015-09-17 3 views
0

Я хотел бы знать, как встроить несколько контроллеров представлений в качестве дочерних контроллеров контейнера. Я попытался выполнить несколько онлайн-руководств, но все они используют только два контроллера, а не несколько. Я попытался преобразовать их код, чтобы использовать более двух, но не был успешным. То есть проблема 1.Несколько контроллеров детского представления внутри uicontainerview (вид контейнера)

Я нашел этот большой репозиторий с очень простым и легким для понимания кода для встраивания контроллера 2 вида: https://github.com/mluton/EmbeddedSwapping

Я попытался преобразовать его в 3, но не вез.

Проблема №2 заключается в том, что с использованием этого метода я не смог перейти с одного контроллера детского представления на другой. Я клонировал проект и попытался разместить кнопки на контроллерах дочерних представлений, а затем cntrl-drag до следующего дочернего элемента, чтобы создать segue, как обычно, но при нажатии кнопки не происходит никакой навигации.


То, что я пытаюсь сделать в своем проекте, - отобразить контроллер вида (экран запуска) в виде контейнера. У меня есть кнопка на этом контроллере представления (Стартовый экран), который имеет переход к Шагу 2 View Controller. Я хочу, чтобы контроллер 2-го шага отображался в том же контейнере, что и в Начальном экране. Затем есть кнопка из шага 2, которая переходит к этапу 3, и снова я хочу, чтобы она отображалась в том же окне контейнера.

Есть ли образцы кода в Интернете, которые делают это, что я могу изучить? И/или вы знаете, как себя и можете поделиться? Я был в эти 3 дня, и ни один метод, о котором я не мог думать, сработал.

ответ

1

Хотя то, что вы хотите сделать, возможно, это боль, чтобы работать, ChildViewControllers предназначены для отношения один к одному. Если вы хотите больше, вам нужно будет добавить промежуточный вид, который соединяется со всеми представлениями. Этот промежуточный вид был бы единственным отношением к вашему контроллеру keeperviewController.

Однако, основываясь на вашем описании, я думаю, вы могли бы исправить это более простым способом. Поток, который вы описываете, является типичным навигационным потоком. Добавьте UINavigationController и подключите его к ContainerView и просто создайте свой навигационный стек, как и обычный поток навигации.

+1

СПАСИБО! Я понятия не имел, что я мог бы встроить контроллер nav внутри ... 3 вечера, пытающихся это сделать, и вы исправили его через 3 секунды: D –