Можно ли переходить от одной раскадровки к другой или вставлять раскадровку в контроллер представления в другую раскадровку? Мне нужно поместить UITabBarController
в UINavigationController
, и я хотел бы, чтобы они были красивыми и отдельными.
133
Ответы:
Да, но вы должны сделать это программно:
источник
Начиная с Xcode 7, вы можете сделать это графически с помощью Storyboard Reference:
Добавьте ссылку на раскадровку на свою раскадровку. Создать переход между ViewController и Storyboard Reference (Ctrl + перетаскивание)
Затем заполните эти поля.
Где "Tutorial" - это файл "Tutorial.storyboard", а "MainTutorialController" - это ваше поле "Storyboard ID" в ViewControllerSettings
источник
Вы не можете делать сегменты вручную, потому что UIStoryboardSegue является абстрактным классом. Вам нужно создать его подкласс и реализовать
perform
для того, чтобы он что-то делал. Они действительно предназначены для создания раскадровок. Вы можете нажать контроллер представления вручную, что является хорошим решением. Ответ lnafziger делает это хорошо:Однако следует отметить, что вы сказали, что хотите, чтобы все было хорошо и обособленно. Идея раскадровки состоит в том, чтобы вы могли держать вещи отдельно, одновременно выполняя все свои дизайнерские работы в одном месте. Каждый контроллер представления хорош и отделен в раскадровке от других. Вся идея состоит в том, чтобы держать все это в одном месте. Просто выложите это красиво, чтобы оно было организовано, и вам будет хорошо идти. Вы не должны отделять это, если у вас нет действительно веской причины для этого.
источник
Вы не должны помещать UITabBarControllers в UINavigationController. Он запрашивает ошибки, такие как неправильная автоповорот / выгрузка представления и т. Д., Так как Apple не поддерживает такого рода ограничения:
источник
Вот быстрая версия:
источник
Вы пробовали следующее:
2 / нажмите, чтобы выбрать контроллер представления, который связан с вашим контроллером навигации и в верхнем меню: редактор -> встроить -> контроллер панели вкладок
Примечание: я не проверял это, потому что я использую противоположное: создание приложений панели вкладок и размещение контроллера навигации внутри).
источник