无法连接故事板放松Segue

Chr*_*ner 24 xcode ios uistoryboard

我试图创建一个展开segue但是当按住Ctrl +拖动时没有任何东西可以连接到它.此外,当我右键单击"退出"图标时,没有可用选项.

在此输入图像描述

有任何想法吗?

Jon*_*ess 66

您需要在视图控制器上定义IBAction,该视图控制器采用"UIStoryboardSegue*"类型的参数.

像这样的东西:

@interface MyViewController
...
- (IBAction)unwindFromConfirmationForm:(UIStoryboardSegue *)segue {
}
...
@end
Run Code Online (Sandbox Code Playgroud)

Swift 3版

@IBAction func unwindToViewController(segue: UIStoryboardSegue) {

    //code

}
Run Code Online (Sandbox Code Playgroud)

通过提供DoruChidean/sf/answers/3233938221/

  • 如果其他人错过了它,您可以将其添加到任何视图控制器,它将显示在EXIT图标中 (5认同)

Tra*_* M. 19

只是为了澄清,要在故事板中将其链接起来,在将上述方法添加到"想要放松到的视图控制器"之后,您需要从按钮中拖出一个segue,或者在"视图控制器中向下放松".以它自己的小绿"EXIT"在底栏图标.

应该有一个弹出窗口链接到" - unwindFromConfirmationForm".

一旦完成,解开segue应该工作.


只需添加Travis优点:完全清楚:

假设您刚刚开始尝试使用故事板,那么您(a)制作了一个新的iOS7 Xcode项目,(b)制作了一个带有一个导航控制器的故事板,然后(c)您制作了五个或六个视图控制器.您的目标是能够使用展开在六个视图控制器之间前后移动.{通过控制 - 从一个按钮拖动到下一个按钮来"前进"是微不足道的.}

现在,在这一刻:所有六个视图控制器,确实将是"默认"类"ViewController".请注意,Xcode(有点无意义)为您提供了ViewController.h和ViewController.m文件.

同样,所有六个"简单示例"视图确实只是使用该文件ViewController.m,此时此刻.所以,非常简单,如果你添加这个:

-(IBAction)unwindUnused:(UIStoryboardSegue *)segue
    {
    NSLog(@"I did an unwind segway! Holy crap!");
    }
Run Code Online (Sandbox Code Playgroud)

对于那个"存根"文件ViewController.m - 事实上,你的六个视图中的每一个现在都"工作",你将能够拖到臭名昭着的小绿色"退出"按钮.就这么简单.

现在只是TBC通常在一个真实的项目中,你永远不会使用默认的"ViewController.m"文件.所以,去这里:

https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOS/SecondTutorial.html

并找到精确的"创建自定义视图控制器",当然,如果你是新手,它会详细解释这个过程.

但是,再次,如果你只是在愚弄并且想让绿色按钮用于展开,只需将代码片段放在"ViewController.m"存根文件中,然后就可以了.(记住,在"现实生活中"你会在每个自定义屏幕中放置一个自定义的调用 - 可能处理数据等等.)希望它有所帮助!

Bonus factoid:请注意,当你刚刚测试时,"Back"按钮会自动出现在导航栏上!(即使你没有添加unwind stub方法.)