Как Документация Apple по навигации по интерфейсу утверждает, что навигация на основе страниц и иерархическая навигация являются взаимоисключающими. Вы интерпретируете это как означающее, что вы не можете чередовать их одновременно, но это не то, что говорит Apple. Скорее, вы должны выбрать один из этих базовых стилей навигации для вашего приложения WatchKit, и он будет базовым стилем навигации для этой сборки приложения. Вы не можете изменить его программно. (Единственным обходным решением для этого является то, что вы можете отображать модальное представление поверх вашего базового стиля навигации, и это модальное представление может использовать другой стиль навигации.)
Ваше описание, однако, предполагает, что вы на самом деле не делаете то, что думаете. reloadRootControllersWithNames(_:contexts:)
— это метод, доступный только в рамках страничного интерфейса. Следовательно, ваше приложение запускается с интерфейсом на основе страниц, а затем отображает определенный набор страниц на основе выбора пользователя.
Скорее всего, эта путаница возникла из-за того, что при первой загрузке вашего страничного интерфейса вы загрузили один контроллер интерфейса. Имея в исходном наборе только одну страницу, которая может быть отформатирована так, чтобы содержать ряд кнопок и, таким образом, выглядеть как иерархический контроллер, вы делаете вывод, что используете иерархический тип интерфейса, когда вы не .
Учитывая все это, чтобы вернуться к этому исходному контроллеру интерфейса со своих страниц, вам просто нужно снова вызвать reloadRootControllersWithNames(_:contexts:)
и передать ему имя вашего исходного контроллера интерфейса, с которым вы запускаете.
01.04.2016