如何解雇 VIewController iOS Swift

How to dismiss VIewController iOS Swift

我是 iOS 开发的新手。我正在使用 iOS Swift 开发应用程序。我有 3 个视图控制器 viewController1、viewController2、viewController3。 当我从 viewController1 单击时,它会移动到 viewController2。通过使用以下代码

let storyboard = UIStoryboard(name: "Main", bundle: nil)
        let secondViewController = storyboard.instantiateViewControllerWithIdentifier("viewController2")
        presentViewController(secondViewController, animated: false, completion: nil)

现在我使用以下代码从 viewController2 移动到 viewController3

performSegueWithIdentifier("viewController3", sender: scoreColorArray);

一切都很好。现在我想从 viewController3 返回到 viewController1。我的问题是它不会转到 viewController1,而是转到 viewController2。我知道 viewController2 没有被解雇的原因。

我想关闭当前的视图控制器并启动新的视图控制器。我该怎么做?我知道有一些方法可以做到这一点,请有人帮我找到问题。

你可以通过delegate来实现。

  • 您将代表呼叫从 controller 2 发送到 controller 1 以解雇 控制器 2.
  • 关闭成功后,您将从controller 1
  • 推送controller 3

这个案例你可以看我的demo:Demo Pushview

由于您的演示序列是 VC1 -> VC2 -> VC3 您需要在 VC3 上调用 self.presentingViewController?.presentingViewController?.dismissViewControllerA‌​animated,以这种方式遍历您的序列反过来。