IOS清除了多个视图控制器的快速导航堆栈

时间:2016-09-01 12:36:55

标签: swift navigation stack segue clear

我是swift语言的新手

故事板中有4个视图控制器

A,B,C和D

A到B推segue B到C推Segue C到D模型segue

当D完成一些我想删除的工作时 从导航堆栈中查看控制器D和C. 回到B,好像是从A推到B

我不知道如何实现这一目标。 现在我在D中解除Viewcontrolleranimated并且它继续 回到C.然后我使用C的后退导航去B. 但我想关闭D和C并直接转到B

请告诉我们如何在swift

中完成此操作

我的应用使用IOS8 +

2 个答案:

答案 0 :(得分:0)

如果您知道视图控制器A,B,C,D的顺序,那么您就知道视图控制器B将在导航控制器上的viewControllers属性上具有索引1。如果您添加以下代码来查看控制器D,您应该能够弹出以查看控制器B.

navigationController!.popToViewController(navigationController!.viewControllers[1], animated: true)

答案 1 :(得分:0)

我假设你有一个挂钩在ViewController D中的动作按钮。 创建一个从该按钮到ViewControllerB

的segue
  @IBAction func actionButton(sender: AnyObject) {
    performSegueWithIdentifier("goToB", sender: self)
    self.dismissViewControllerAnimated(false, completion: nil)
    let thirdVC=ThirdViewController()
    thirdVC.dismissViewControllerAnimated(false, completion: nil)

}