如何将 segue 解压到调用它的视图控制器

Posted

技术标签:

【中文标题】如何将 segue 解压到调用它的视图控制器【英文标题】:how to unwind segue to the view controller that called it 【发布时间】:2016-01-07 18:46:48 【问题描述】:

以下是如何使用 Apple 的 unwind segue 的一个很好的答案。

What are Unwind segues for and how do you use them?

然而,我的问题是,您必须明确告诉情节提要您想要退出(展开)回哪个视图控制器。我要做的是退出(展开)回到调用它的任何视图控制器,只使用一个按钮。

假设我有 3 个视图控制器:红色、蓝色和黄色。 Red 和 Blue 都有一个按钮可以转到 Yellow 视图控制器,但 Yellow 只有一个按钮,即返回。是否可以将黄色返回按钮展开回调用它的任何视图控制器?

【问题讨论】:

有一个很好的关于 unwind segue 以及如何连接它们的教程:raywenderlich.com/113394/storyboards-tutorial-in-ios-9-part-2 是的,但可能不使用 Unwind segues。您可以简单地添加一个按钮,从堆栈中关闭/弹出当前视图。 【参考方案1】:

感谢@luk2302,我能够弄清楚。甚至不需要使用 unwind segue。谢谢luk2302!

@IBAction func returnViewController(sender: AnyObject) 
    if((self.presentingViewController) != nil)
        self.dismissViewControllerAnimated(true, completion: nil)
    

【讨论】:

不客气 - 很高兴看到你从我给 +1 的小提示中找出实际代码

以上是关于如何将 segue 解压到调用它的视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 segue 将图像传递到新的视图控制器?

按下页面时执行 Segue

如何使用自定义 UITableViewCell 进行 Segue?将数据传递到详细视图控制器的问题

不能在代码中调用 segue (Swift)

从 tableView 委托类中调用视图控制器 segue

如何将segue从表格视图中的单元格单击推送到另一个视图控制器[重复]