使用故事板解开Xcode 6.1.1中的Segue

Ber*_*can 10 xcode ios xcode6

我一直在阅读在Xcode 6中使用了解开segue的问题.我正在使用Xcode 6.1.1并使用swift.

我使用导航控制器放置的"后退"按钮.因此我无法cntrl拖动到退出图标.此外,我无法从viewController图标拖动到退出图标.

这是一个错误吗?或者我错过了一些关于如何使用unwind segue的基本知识.如何从故事板中设置展开segue?

Ber*_*can 9

我想提供一个详细的答案:

要执行展开segue,请转到要转移到的视图控制器并添加以下功能; (名称可以改变)

@IBAction func unwindToMainMenu(segue: UIStoryboardSegue) {

}
Run Code Online (Sandbox Code Playgroud)

添加此功能后,您将能够从故事板上的任何视图控制器中看到此展开功能.只需右键单击任何视图控制器顶部的退出图标即可.退出图标右键单击

如果您想使用按钮进行放松,则可以从按钮中按住+拖动以退出图标并选择您的unwindSegue功能.完成!

用按钮放松

如果要以编程方式执行展开,则cntrl +从viewController图标拖动到退出图标并选择展开功能.

在此输入图像描述

然后,打开文档大纲并单击展开segue.

在此输入图像描述

转到Utilities中的Attributes Inspector,并为unwind segue提供一个标识符.

在此输入图像描述

最后,调用performSegueWithIdentifier函数如下;

self.performSegueWithIdentifier("goToMainMenu", sender: self)
Run Code Online (Sandbox Code Playgroud)

希望有所帮助!


hid*_*ame 3

成功了。如果您从 NavigationController 或 TabBarController 进行呈现(不确定 TabBarController),则需要对导航控制器进行子类化并向其添加展开转场。在故事板中,不要忘记更改导航控制器的类。我的视图层次结构是 NavController -> TableController -> DetailController。将方法添加到自定义 NavBar 类后,将其添加到您想要返回的 VC 中。然后您可以按住 Ctrl 键并拖动以退出。我认为这是一个错误,因为一旦连接起来,我就能够删除子类并返回到库存 NavigationController 并且它仍然有效。

  • 我在没有自定义 navigationController 类的情况下尝试了它,并且仍然有效。显然,在目标视图控制器上添加 `@IBAction func unwindSegue(segue: UIStoryboardSegue) { }` 可以实现拖动退出图标 (5认同)