2017-02-17 4 views
0

назад, когда я впервые создал основополагающую схему для приложения я в настоящее время работает над в раскадровку, я сделал это в два этапа:Почему вложение контроллера просмотра в контроллер навигации, а затем в панели управления панелью привязывает навигационную панель к контроллеру панели вкладок?

  1. Selected мой View Controller и используется editor-> Вставить In-> Навигационный контроллер ,
  2. Выбрал мой контроллер View снова и использовал Editor-> Embed In-> Tab Bar Controller.

Это результирующее расположение:

Вопрос 1: Почему эти шаги создают такое странное расположение?

В этом странном макете, который, по-видимому, подразумевает, что контроллер навигации подключен к контроллеру панели вкладок в качестве родительского элемента, единственный способ получить элементы навигации для отображения в приложении (в представлении, контролируемом контроллером просмотра на справа), поместив их в панель навигации на панели Control Bar.

Однако это создает различные проблемы, в том числе неспособность создать IBOutlet в моем файле диспетчера View для пользовательского представления. Я перетаскиваю его в слот представления заголовка в сцене контрольной панели Tab. Между тем, перетаскивание чего-либо в панель навигации в сцене View Controller просто заставляет его не появляться в приложении при его запуске.

Вопрос 2: Как исправить этот макет, чтобы я мог управлять перетаскиванием элементов навигации в файл View Controller? Или все действительно правильно, и я просто пытаюсь заставить что-то я не должен? (Мое намерение здесь, чтобы быть в состоянии установить текст в режиме просмотра заглавного в моем коде View Controller.)

ответ

1

Это очевидно, если вы хотите, чтобы встроить MyViewController в NavigationController, то вам необходимо изменить свой второй шаг и нужно вставлять NavigationController до Tab Bar Controller.

  1. Найдено MyViewController и использовано Editor->Embed In->Navigation Controller.
  2. Выбрано NavigationController Код на картинке: MyViewController и использовано Editor->Embed In->Tab Bar Controller.

Это должно выглядеть так.

enter image description here

Примечание: Вам нужно встроить MyViewController в navigationController только если вы хотите выполнить нажимной операцию на этом TabBarItem означает с MyViewController другим мудрым просто не вставлять MyViewController в TabBarController нет необходимости встраивать его NavigationController.

+0

Если ваш VC не установлен в Tabbar, нет необходимости встраивать его в контроллер навигации –

+0

@ Anbu.Karthik Очевидно, OP не добавит UITabBarController вообще, если это так? Кроме того, вопрос задает вопрос о том, как встроить навигационный контроллер в UIViewController, подключенный к вкладке, так что это правильный ответ на вопрос. –

+0

@ Anbu.Karthik Отредактированный ответ для этой детали. –

Смежные вопросы