带后退按钮的 Unwind segue 功能

Unwind segue function with Back button

当我在 Navigation Controller 中按下默认后退按钮(例如 < Settings)时,我正在尝试调用功能。

在其他情况下,我正在创建自定义按钮,在我按 Ctrl+拖动到 XCode 中的红色退出按钮并将其指向选择 segue 之后。

现在我需要使用导航控制器的默认后退按钮,但我无法将其分配给 segue 操作,因为它在故事板视图中没有后退按钮(但它存在于模拟器中)。

模拟器:

XCode:

我可以在导航控制器中创建自定义按钮并将其指定为自定义展开转场,但如果没有“<”符号,该按钮将很难看。

我在 Whosebug 上找到了一些答案,但它们都是用 Objective-C 写的:(.

您可以使用委托方法来完成您正在做的事情。

这是一个经过深思熟虑的 swift 教程,用于处理委托和转场: http://makeapppie.com/2014/07/05/using-delegates-and-segues-part-2-the-pizza-demo-app/

您所问的是捕捉后退按钮动作的能力,这不可能像您描述的那样。

大多数人会建议创建自定义按钮,然后使用展开转场。

有很多关于自定义后退按钮的教程,以防您不熟悉 swift,自定义后退按钮的丑陋部分可以通过放置您自己的箭头轻松修复。

我还找到了这个以前提出的问题以供将来参考:Unwind segue from navigation back button in Swift

实际上我只是将 unwind segue 分配给整个视图控制器(从黄色视图控制器出口右键单击并拖动到出口出口然后 select 函数)。到目前为止效果很好。无需自定义按钮,无需委托。 事实上,在我的项目中,child 应该根据当前调用者视图控制器调用不同的 parent 函数,并且简单地使用相同的函数名称让我的梦想成真。

这个页面对我帮助很大:http://spin.atomicobject.com/2014/12/01/program-ios-unwind-segue/