展开segue - 当多个视图调用它时返回调用视图

Aar*_*ron 1 ios segue swift unwind-segue

我有一个视图控制器(在导航控制器中)A切换到视图控制器B,视图控制器C也切换到B(A - > B < - C).视图控制器B用于选择传递回A或C的值,但如果单击"取消"或"完成",它将使用展开segue返回仅一个控制器,以最后连接的为准.

vac*_*ama 7

你可以有一个展开segue返回到viewController启动segue的任何一个.您所要做的就是在所有viewControllers中实现与返回到viewController B相同的方法.

所以在viewController A和viewController C中,实现以下方法:

@IBAction func backFromB(segue: UIStoryboardSegue) {
    print("Back from B")
}
Run Code Online (Sandbox Code Playgroud)

然后,当您Control从viewController B中的Cancel按钮拖动到viewController 顶部的Exit图标时,backFromB从弹出窗口中选择.

拖动以设置退出segue


选择返回的方法


然后当你运行应用程序并在viewController B中点击取消时,你将返回到viewController A或viewController C(无论哪一个被Segued到B).如果一个segue是Show(Push)而另一个是Modal,这甚至可以工作.

示范图片