0

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

我有多个想要跳转的按钮和视图控制器,但我想使用一个视图控制器代码库来处理所有模态跳转。我想要一个 viewcontroller.m 文件来了解按下了哪个按钮并据此采取行动。似乎没有对整个“segue”操作如何工作的清晰描述;都是零零碎碎的。

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

我想强迫人们做研究很好,但我有 16 个小时的时间来做这个,我跟踪了所有的链接都无济于事,包括插入一个 nag 控制器,它吹走了我工作的一堆功能性 segues。

有没有一种简单的方法可以将变量从一个 VC 传递到另一个在按钮按下之前设置的变量?也许需要像这样的脏东西,但如果能够在模态按钮中引用你想要的 segue 并将该信息传递给新 UIViewController 的“视图确实加载”,那就太好了。

4

1 回答 1

0

prepareForSegue:方法是您所需要的,如果您使用模态样式 segue,它不需要您有导航控制器。从UIViewController 类参考,它的作用是:

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

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

在此处输入图像描述

然后在您的原始视图控制器中,使用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
    }
}
于 2013-07-11T13:41:40.960 回答