需要使用Storyboard识别哪个按钮导致模式跳转

时间:2013-07-10 16:59:08

标签: xcode storyboard modal-dialog

有没有人知道我是否可以使用Storyboard识别哪个按钮将我发送到视图控制器,其中一个按钮对视图控制器进行模态调用?

我有多个按钮和视图控制器,我想跳转到,但我想使用一个视图控制器代码库来处理所有模态跳转。我想要一个viewcontroller.m文件来了解按下了哪个按钮并根据它执行操作。似乎没有清楚地描述整个“segue”操作是如何工作的;这一切都是件。

我尝试使用performSegueWithIdentifier方法,让我的按钮附加到IBAction。这看起来很愚蠢,因为我不需要使用模态定义的IBActions。我也走了prepareForSegue的路线,但它需要一个导航控制器(我认为我不需要)。

我想强迫人们做研究很好,但我有16个小时进入这个,我跟着所有的链接无济于事,包括一个插入一个唠叨控制器,吹走了我工作过的一堆功能段。

是否有一种简单的方法可以将变量从一个VC传递到按钮之前设置的另一个VC?也许这样的脏东西是必需的,但是能够在模态按钮中引用你想要的segue并将这些信息传递给新的UIViewController的“view did load”会很好。

1 个答案:

答案 0 :(得分:0)

方法 prepareForSegue:是你需要的,如果你使用模态样式segue,它不需要你有导航控制器。从UIViewController class reference起,它的作用是:

  

通知视图控制器即将执行segue。

确保在故事板中设置了segue标识符,例如在下面的屏幕截图中我将其设置为PushModalViewController:

enter image description here

然后在原始视图控制器中,使用 prepareForSegue 方法设置目标视图控制器的属性:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqualToString:@"PushModalViewController"]) {
        TargetViewController *targetViewController = (TargetViewController *)segue.destinationViewController;
        //set the property of the target view controller here
    }
}