在Swift 3中创建Unwind Segues

这篇博客文章是关于如何在Swift中创建放松的任务。 实现它们非常简单-因此,本文当然很短。 (源代码:https://github.com/mimicatcodes/unwindSegueExample)

但是等等,什么是放松的比赛?

假设我们有三个屏幕,分别是1,2和3。我们想通过创建Show segue从1切换到2,现在通过使用Storyboard中的Present Modally segue从2切换到3。

我们刚刚从2和3创建了一个Present Modally序列-这意味着如果我们想从3回到2,我们可以使用以下方法简单地关闭当前视图控制器(VC3):

  @IBAction func dismissVC(_ sender:Any){ 
 关闭(动画:true,完成:nil) 
  } 

熟悉,不是吗? 但是,如果我们想从3回到1,而不是2,该怎么办?

在这种情况下, 轻松的搜寻非常有用。

有了放开的序列,您现在可以从3退回到1,而无需先回到2,然后再通过导航控制器回到1。

请遵循以下四个简单步骤来创建Unwind segue:

  1. 在视图控制器中,您尝试回到示例VC1中,编写以下代码:
  @IBAction func unwindToVC1(segue:UIStoryboardSegue){} 

(请记住:在您要返回到TO的视图控制器中插入此方法很重要!)

2.在情节提要中,转到您要从中解散的屏幕 在本例中为 3 ,然后按住Control键并将视图控制器图标拖到顶部的“退出”图标上。

如上所示,当您看到要连接的IBAction选项时,请选择刚刚在VC1中创建的展开segue操作。

3.转到情节提要中选定视图控制器的文档大纲,如下图所示选择展开序列。

现在,转到“实用工具”窗格中的“属性”检查器,并命名展开序列的标识符。

4.最后,将此代码编写在您希望触发放松segue动作的位置(在本例中为V3)。

  @IBAction func goBackToOneButtonTapped(_ sender:Any){ 
  performSegue(withIdentifier:“ unwindSegueToVC1”,发送者:self) 
  } 

可以在这里找到本教程的源文件:https://github.com/mimicatcodes/unwindSegueExample

编码愉快!