有没有人知道在使用Xcode 4.5编辑故事板时新的Exit图标用于什么?

rss*_*tmr 100 interface-builder uistoryboard uistoryboardsegue ios6 xcode4.5

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

Eri*_*ric 220

我很难按照接受的答案,所以这里有更多细节.

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

在此输入图像描述

视图控制器一个,你可以这样写:

- (IBAction)done:(UIStoryboardSegue *)segue {
    // Optional place to read data from closing controller
}
Run Code Online (Sandbox Code Playgroud)

ViewController B你可以写:

- (IBAction)back:(UIStoryboardSegue *)segue {
    // Optional place to read data from closing controller
}
Run Code Online (Sandbox Code Playgroud)

视图控制器ç你控制拖"后退"按钮,绿色的退出选项,并选择回: 视图控制器Ç你控制拖"完成"按钮,绿色的退出选项并选择完成: 在此输入图像描述

注意:即使方法在其他视图控制器上,它们也会出现在ViewController C的出口处.控制拖动和选择方法定义要展开的ViewController.

  • 我遇到的另一个问题是我没有在我的.h文件或类扩展中放置我的unwind segue方法签名.在我添加之后,unwind segue出现在弹出窗口中. (3认同)
  • 还有一点需要注意:即使所有步骤都完成,有时绿色退出按钮仍未激活.在这种情况下,重新打开故事板(或xcode项目)使其按预期工作. (2认同)
  • + Infinity用于`即使方法在其他视图控制器上,它们也会出现在ViewController C的出口处 (2认同)

Cal*_*l S 104

WWDC视频"会话407 - 在您的应用程序中采用故事板"中有很多信息.

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

- (IBAction)done:(UIStoryboardSegue *)segue {
    NSLog(@"Popping back to this view controller!");
    // reset UI elements etc here
}
Run Code Online (Sandbox Code Playgroud)

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

  • 它实际上将展开回到视图控制器(及其视图)的完全相同的实例. (3认同)

jbo*_*boi 15

除了埃里克回答这里是如何使用:

添加到目标控制器的功能如下所示:

@IBAction func backFromOtherController(segue: UIStoryboardSegue) {
    NSLog("I'm back from other controller!")
}
Run Code Online (Sandbox Code Playgroud)