Расслабьтесь Segue против PopViewControllerAnimated
У меня есть mapview, который связан с несколькими viewControllers.
Мне нужно было реализовать "раскрутку" с другой кнопки (в отличие от только кнопки "назад"), поэтому я использовал:
self.navigationController?.popViewControllerAnimated(true)
Мой вопрос: как работает вышесказанное, стоит ли мне пытаться реализовать раскрутку в коде, используя prepareForUnwind
а также canPerformUnwindSegueAction
в родительском контроллере представления + Ctrl-перетаскивание из viewController для выхода в раскадровку? Если так, то почему?
1 ответ
В основном, если вы просто dimissing
представленный UIViewController
или совать UIViewController
из стека навигации вам не нужно использовать сегменты раскручивания, хотя он делает то же самое для вас.
Но подумайте о случае, когда есть UINavigationControllers
А, В, С, а затем RootViewController
р
Тогда придумайте условие
(Present) R -> A
(Push) AR -> XVController
(Push)XVController -> B
(Present)BR-> YVContoller
...and so on..
Теперь, если вы хотите вернуться к YVController, к вашему проекту RootViewController, где вы только что начали. popToRootViewController
выскакивает в стек навигации B UINavigationController
. Теперь, что вы делаете.. Используйте делегат или измените окно RootViewController, что не очень хорошая идея.
Таким образом, вам нужно использовать раскрутку, чтобы преодолеть это.. Пример проекта, чтобы продемонстрировать возможности его использования..