UITabBarController с несколькими раскадными версиями

Я разрабатываю приложение для iOS с Xcode 8 и Swift 3.

У меня есть контроллер панели вкладок с одним представлением вкладок, встроенным в контроллер навигации, как показано ниже:

tab bar controller with one tab view

По мере продолжения проекта раскадровка становится больше. Мне действительно это не нравится. Итак, я хотел бы разделить его на несколько раскадровок.

Мой вопрос:

Как разделить контроллер панели вкладок & связанные контроллеры представления вкладок в несколько раскадровок? Как лучше всего это делать? А как это сделать?

Ответ 1

Если ваша цель iOS 9 и выше, вы должны создать ссылки на раскадровку для контроллеров представления, которые вы хотите включить в другую раскадровку. Вот как это работает:

  • Создайте вторую раскадровку, переместите в нее желаемый контроллер представления и присвойте идентификатор раскадровки под Инспектором удостоверений.

Identity inspector

  1. Перейдите в свою первую раскадровку и найдите Справочник раскадровки в библиотеке объектов.

Object library - Storyboard Reference

  1. Перетащите его в свою раскадровку и создайте "диспетчер представлений" с контроллером панели табуляции, как и с контроллером вида.

контроллер панели вкладок с контроллерами представлений в раскадровке

  1. В разделе Инспектор атрибутов справочной информации, измените свои настройки соответствующим образом. Для ссылочного идентификатора используйте идентификатор контроллера просмотра на втором контроллере представления.

the Storyboard Reference's Attribute inspector