在使用 Xcode 4.5 编辑故事板时新的退出图标是做啥用的?

Posted

技术标签:

【中文标题】在使用 Xcode 4.5 编辑故事板时新的退出图标是做啥用的?【英文标题】:Does anyone know what the new Exit icon is used for when editing storyboards using Xcode 4.5?有谁知道在使用 Xcode 4.5 编辑故事板时新的退出图标是做什么用的? 【发布时间】:2012-09-16 03:58:39 【问题描述】:

右键单击退出图标会产生一个空窗口。无法按住 Ctrl 并拖动连接到任何 IB 元素或相应的源文件。医生没有爱。不会出现在 nib 文件中,只会出现在故事​​板中。我的假设是它是 segues 的必然结果,但我没有看到任何新的方法来支持它。有人吗?

【问题讨论】:

欺骗:***.com/questions/12416050/xcode-4-5-storyboard-exit ? Xcode 4.5 Storyboard 'Exit'的可能重复 【参考方案1】:

我很难遵循接受的答案,所以这里有更多细节。

鉴于下面视图控制器 C 上的照片,您可以“退出”回到 segue 路径中的任何视图控制器。

ViewControllerA你可以写:

- (IBAction)done:(UIStoryboardSegue *)segue 
    // Optional place to read data from closing controller

ViewControllerB可以这样写:

- (IBAction)back:(UIStoryboardSegue *)segue 
    // Optional place to read data from closing controller

ViewController C你控制从“返回”按钮拖动到绿色退出选项并选择返回: ViewController C 你控制从 "done" 按钮拖动到绿色退出选项并选择 done:

注意:即使这些方法在其他视图控制器上,它们也会在 ViewController C 的退出时显示。 控件拖动和选择方法定义了要展开到哪个 ViewController。

【讨论】:

另一个注意事项:有时即使所有步骤都已完成,绿色退出按钮也不会处于活动状态。在这种情况下,重新打开情节提要(或 xcode 项目)使其按预期工作。 我遇到的另一个问题是我没有将展开 segue 方法签名放在我的 .h 文件或类扩展名中。在我添加它之后,展开转场出现在弹出窗口中。 +Even though the methods are on other view controllers they show up for the ViewController C's exit. 的无穷大【参考方案2】:

WWDC 视频“Session 407 - Adopting Storyboards in your App”中有很多信息。

假设您有两个通过 segue 链接的视图控制器。在第一个视图控制器上实现以下退出操作:

- (IBAction)done:(UIStoryboardSegue *)segue 
    NSLog(@"Popping back to this view controller!");
    // reset UI elements etc here

然后,在第二个视图控制器的 Storyboard 场景中,按住 Ctrl 键从 UI 元素(例如按钮)拖动到此视图控制器底部的退出图标。您添加到第一个控制器代码中的done: 操作将作为一个选项出现。现在,激活您按住 Ctrl 并拖动到退出图标的按钮将弹回第一个视图控制器并保持其原始状态(即,文本输入等 UI 元素应该仍然完好无损)。

【讨论】:

它实际上展开回视图控制器(及其视图)的完全相同的实例。 谢谢,我读这篇文章只是为了了解“绿色出口”是关于什么的,只是为了发现它为我解决了一个问题。我有 2 个视图控制器,由 TabBar 控制器和导航控制器隔开,并且“Pop”无法向后返回。这花了 2 分钟,一切都如你所说!谢谢! 在退出视图 A 之前,如何在视图 B 类中的 Done 按钮上调用操作方法? 如果你观看了 WWDC 视频,你可以跳到 37:15 看到关于“unwind segues”的部分【参考方案3】:

除了Eric 之外,这里的答案是它如何与swift 一起工作:

添加到目标控制器的函数如下所示:

@IBAction func backFromOtherController(segue: UIStoryboardSegue) 
    NSLog("I'm back from other controller!")

【讨论】:

以上是关于在使用 Xcode 4.5 编辑故事板时新的退出图标是做啥用的?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 Xcode 故事板中的预览设备?

编辑故事板更改并将其从 Xcode 导入到 Visual Studio

如何在 Xcode 5 中显示故事板视图/编辑的网格?

UIPageViewController 使用 Storyboard 和 Xcode 4.5

xcode 8.1故事板仅显示蓝线

使用 xcode 4.5 在情节提要中设计滚动视图