Popview在swift中解散模态视图控制器之后

时间:2014-11-14 03:24:19

标签: ios7 swift popviewcontroller

我有一个导航控制器A,我在其上推动视图控制器B.从B i模态地呈现视图控制器C.在我解除C之后,我尝试回到A.因此导航流程是A-> B - > (现在的ModalView) - > C.我在B中尝试了这段代码:

 self.navigationController?.popToRootViewControllerAnimated(true)

关于如何实现这一目标的任何建议?

这种情况恰好发生在iOS7中

谢谢

1 个答案:

答案 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
    })