Как привязать UIViewController к IBOutlet'у родительского контроллера?
Возникла необходимость сделать кастомный контейнер по логике близкий к UITabBarController.
Есть ли возможность присоединить всех детей к одному IBOutletCollection или чему-нибудь подобному малой кровью?
Сейчас пока что всё делаю руками из кода. Но хотелось бы увидеть этот функционал.
ManWithBear: К сожалению более или менее вменяемого решения нет.
Если использовать "приватное апи", то всегда можно получить все segue данного контроллера, из этих segue выдрать идентификаторы привязанных viewController'ов и уже их загрузить и менеджить как хошь
Что-то типа такого
NSArray *arr = [self valueForKey:@"_storyboardSegueTemplates"];
for (UIStoryboardSegue* segue in arr) {
UIViewController *vc = [segue valueForKey:@"_destinationViewControllerIdentifier"];
[self.view addSubview:vc.view];
return;
}
Сами понимаете, какая практическая ценность этого кода...
Еще как вариант, можно сделать свой ContainerVC наследником UITabBarViewController (просто убрать tabbar и самому менеджить изменениение childVc. Но это тот же костыль
Так что, резюмируя - самое адекватное решение - через код.
Либо задав специализированный storyboard id для всех чилд вьюконтроллеров аля "childVC_%i"
Ну а дальше грузить тупо грузить перебирая все childVC_%i через instantiateViewControllerWithIdentifier