如何在
Swift iOS中关闭2个视图控制器?
以下是我的代码.
@IBAction func backButtonTapped(sender: AnyObject) { self.presentingViewController .presentingViewController .dismissViewControllerAnimated(true,completion: nil) }
为此目的有特殊的展开segue,它旨在回滚到堆栈中的某个视图控制器.
让我们将最顶层的控制器(你来自哪里)作为源和堆栈中的控制器(你想回滚到顶部)作为目的地.
>在目的地创建IBAction以在展开时触发:
@IBAction func myUnwindAction(segue:UIStoryboardSegue){}
它可以是空的.
>在源控制器中通过从控制器图标拖动到退出一个来创建展开segue,它将找到您在步骤1中创建的操作.调用segue展开.
>现在你可以用常规的代码发出segue
performSegueWithIdentifier(“unwind”,sender:nil)
我描述了如何从代码中发出unwind segue.对于按钮展开,可以通过拖动按钮直接在IB中创建segue以退出图标.
另请查看此讨论以获取更多信息:How to perform Unwind segue programmatically?