Насколько я могу судить, это одна из областей, где раскадровка гораздо менее полезна, чем должна быть.
Из того, что я вижу, вы можете вручную вставить все ваши переключающие виджеты, связать их с соответствующими контроллерами представления цели и сконфигурировать получившиеся сегменты как экземпляры ваших пользовательских подклассов UIStoryboardSegue
, которые переопределяют ( s) perform
и при желании реализовать prepareForSegue:sender:
в вашем контроллере вида контейнера ... но (a) вы, наверное, уже поняли это и (b) для меня, это вряд ли похоже на то, к чему вы стремитесь в первую очередь .
По этой и другим причинам я бы (и сделал это…) избегал бы раскадровок в таком сценарии вообще и вместо этого использовал бы NIB вместе с IBOutletCollection
(не поддерживается в раскадровках - вы ничего не можете подключить к ним!) для контроллеров представления.
В моем случае я мог бы динамически заполнить сегменты UISegmentedControl
или строки UITableView
, используя свойства title / image tabBarItem
s подключенных контроллеров представления.
Это, однако, компромисс , так как вы теряете возможность конфигурировать переходы между вашими контроллерами представления в IB. Кроме того, он опирается на подразумеваемый контракт, согласно которому контроллер представления имеет правильно сконфигурированный tabBarItem
, который не может быть выражен в IB.
В моем случае это не имело значения, но ваш пробег может сильно отличаться!
Разделение макета и использования контейнера на отдельные NIB помогло упростить задачу.