我有一个导航控制器A,我在其上推动视图控制器B.从B i模态地呈现视图控制器C.在我解除C之后,我尝试回到A.因此导航流程是A-> B - > (现在的ModalView) - > C.我在B中尝试了这段代码:
self.navigationController?.popToRootViewControllerAnimated(true)
关于如何实现这一目标的任何建议?
这种情况恰好发生在iOS7中
谢谢
答案 0 :(得分:1)
您必须在NavigationController中关闭模态视图控制器(C)和popToRootViewController。在C View Controller中尝试以下代码:
let presentingVC = self.presentingViewController!
let navigationController = presentingVC is UINavigationController ? presentingVC as? UINavigationController : presentingVC.navigationController
navigationController?.popToRootViewControllerAnimated(false)
self.dismissViewControllerAnimated(true, completion: nil)
在这种情况下,用户只会看到解雇模态视图控制器。弹出到导航控制器中的根视图控制器将在后台进行。
另一个选择是解雇模态视图控制器,然后弹出到动态的根视图控制器,然后用户将看到所有内容。 以下代码:
let presentingVC = self.presentingViewController!
let navigationController = presentingVC is UINavigationController ? presentingVC as? UINavigationController : presentingVC.navigationController
self.dismissViewControllerAnimated(true, completion: { () -> Void in
navigationController?.popToRootViewControllerAnimated(true)
return
})