我有一组视图控制器VC1,VC2,VC3,VC4。 VC2有多个入口点,可以模态显示或推送到导航控制器上。
目前我在VC1。在某些动作上,我以模态方式呈现VC2。 VC2中的一些后续操作将我带到VC3-> VC4。 VC4中有一个按钮,可以将我带回VC1。
如何以简单的方式实现这一点?一种方法是通过代表实现它。但是我需要在路径中的每个视图控制器中设置它吗?
答案 0 :(得分:1)
使用展开segues(如果您使用的是故事板)!
在Apple文档中阅读并在线查找一些示例。你的场景非常适合这个。
将它放在你的VC1 viewController(你想要返回的那个)中:
@IBAction func backToVC1(segue: UIStoryboardSegue) {
}
然后在上一个viewcontroller的Storyboard中,通过控制 - 从按钮拖动到viewController顶部的退出图标,然后从弹出窗口中选择backToVC1。
这将关闭整个视图控制器堆栈并将您带回VC1
答案 1 :(得分:0)
答案 2 :(得分:0)
我想没有必要设置任何代表。我已经根据你的问题做了演示,我找到了一个解决方案。
假设您有3个以模态方式打开的视图控制器。
A - 启动视图控制器
A - > VC1
VC1 - > VC2
VC2 - > VC3
只需在按钮水龙头上写下这行。
self.presentingViewController?.presentingViewController?.presentingViewController?.dismissViewControllerAnimated(true, completion: nil)
P.S:使用presentsViewController属性尽可能多的视图控制器 你有。在我的情况下,我写了3次,因为我有模态 提出了3个视图控制器。