Я пытаюсь представить контроллер представления по модулю из стека контроллера навигации, а затем после увольнения вернуться к этому конкретному указателю контроллера. Этот NavigationController
находится в пределах UITabBarController
.Вернуться к описанию диспетчера навигации после модального увольнения (нет раскадровки)
Мое приложение написано с помощью XIB и программных навигационных контроллеров и контроллеров панели. Я не использую раскадровки. Навигация по навигационному контроллеру все делается с помощью self.navigationController.pushViewController(viewController: TabOnePageTwoViewController, animated: true)
Вот моя конфигурация контроллера.
RootTabBarController
->UINavigationController(rootViewController: TabOneController)
->TabOnePageOneController
->ModalView
Вопрос в том, когда я self.dismiss()
внутри модального представлены точки зрения, я вернулся к корню навигационного контроллера вместо представления, который представил модальный , TabOneController
Я думаю, что правильный способ сделать это - выбрать контроллер вида из стека контроллера навигации и popToViewController
для правильного.
Для этого я думаю, что в блоке завершения self.dismiss()
мне нужно перейти к моему правильному контроллеру.
let viewControllers = self.navigationController!.viewControllers
self.dismiss(animated: true, completion: {
for aViewController in viewControllers {
if(aViewController is TabOnePageTwoViewViewController){
print("navigating back to page one now")
self.navigationController!.popToViewController(aViewController, animated: true);
}
}
})
`
К сожалению, это не работает. Насколько я могу судить, self.navigationController
недоступен изнутри модального вида.
Как я могу вернуться к указателю навигационного контроллера после отклонения представленного модальным способом?
Я загрузил пример приложения к GitHub по следующему адресу: https://github.com/thexande/TabControllerAndNavigationControllerExample
Если вы знаете programatic навигации в пределах IOS хорошо, скачать и посмотреть!
СПАСИБО ВСЕМУ !!
Молодцы, сэр. Ваше решение отлично работает. – thexande