Пусть ContainerView
представляет собой родительский контейнерный вид с двумя дочерними объектами: NavigationView
и ContentView
.
Я хотел бы иметь возможность сменить контроллер ContentView
на другое представление. Например, замена контроллера домашней страницы контроллером страницы новостей. В настоящее время единственный способ, которым я могу это сделать, - это использовать делегат, чтобы сообщить ContainerView
, что я хочу переключать виды. Это похоже на небрежный способ сделать это, потому что ContainerViewController
закончит тем, что у вас есть куча специальных делегатов для всех подзонов.
Это также необходимо связать с NavigationView
, который имеет информацию о том, какой вид в настоящее время находится в ContentView
. Например: если пользователь находится на странице новостей, панель навигации в навигационном представлении покажет, что кнопка новостей в данный момент выбрана.
Вопрос A:
Есть ли способ поменять контроллер в ContentView
без метода делегата, вызывающего сам ContainerView
? Я хотел бы сделать это программно (без раскадровки).
Вопрос B:
Как я могу сменить контроллеры в ContentView
с NavigationView
без вызова делегата? Я хотел бы сделать это программно (без раскадровки).