如何解雇 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?.dismissViewControllerAanimated
,以这种方式遍历您的序列反过来。
我是 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?.dismissViewControllerAanimated
,以这种方式遍历您的序列反过来。