Название в значительной степени описывает все это.
Проблема заключается в обработке обратных вызовов UISegmentedControll (нажатия кнопок). Если бы тип содержимого всех вложенных представлений был одинаковым (например, некоторые UITableViewControllers), я мог бы просто переключить источники данных и перезагрузить таблицы.
Однако это не так, у меня есть 3 очень разных представления, которые позволяют дальнейшую детализацию / взаимодействие на основе NavigationControllers.
Таким образом, я настроил этот ATM так, что есть класс «контейнер», в который я помещаю все UINavigationController. Все они используют один и тот же UISegmentedController, и я перенаправляю обратные вызовы контроллеру представления контейнера. Это совсем не так хорошо.
Кроме того, возникает проблема, когда пользователь нажимает на значок панели вкладок, контроллер навигации выскакивает в корневой каталог, который является ... пустым представлением контейнера.
Вот картина того, чего я хочу достичь: