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