解雇Swift的两个控制器
我有这种情况:
我有一个第一个视图控制器,当点击它的button,我打开模式模式下的另一个视图控制器,在这个视图控制器,当我点击另一个button,我打开模式视图中的另一个视图控制器,并有一个button,当我点击对此我想去第一个视图控制器,而无需重新初始化它。 我该怎么做?
这是一个放松的过程完美的情况。
把它放在你的第一个viewController(你想要返回的那个):
@IBAction func backFromVC3(_ segue: UIStoryboardSegue) { print("We are back in VC1!") }
然后在你的第三个viewController的Storyboard中, 控制你的button到viewController顶部的退出图标,并从popup窗口中selectbackFromVC3
。
现在,当用户按下VC3中的button时,VC3和VC2都将被解除,您将返回到VC1。
如果您不使用Storyboard,则可以使用代码closuresviewController。 这里是一个button的处理程序的代码,以消除两个级别的viewController:
func doDismiss(_ sender: UIButton) { // Use presentingViewController twice to go back two levels and call // dismissViewController to dismiss both viewControllers. self.presentingViewController?.presentingViewController?.dismiss(animated: true, completion: nil) }
感谢所有的答复和编辑我的问题:)
我发现2行代码来解决我的问题:
让appDelegate = UIApplication.sharedApplication()。委托为! AppDelegate appDelegate.window!.rootViewController?.dismissViewControllerAnimated(true,completion:nil)。
那很好。
非常感谢