1

假设views我的storyboard.

  • 视图 1包含一个input field和一个button
  • input field是用户为“2 + 2”输入答案的地方
  • 视图 2包含一条消息“继续上一年级!”
  • 视图 3包含一条消息“你的数学很糟糕……”

我想使用情节提要链接View 1View 2,但我想在View 1上触摸按钮时运行逻辑。

如果输入字段是,== 4那么您将被带到View 2,如果不是,那么您将被带到View 3。这样的事情可能storyboarding吗?

4

1 回答 1

5

是的

在情节提要中,通过从视图控制器 1 到视图控制器 2 的控制拖动来创建从视图 1 到视图 2 的转场。单击转场并给出它和标识符(例如 view2)。做同样的事情来创建从 View 1 到 View 3 的 segue(给它和标识符 view3)。

然后在您的 view1 视图控制器代码中,在按钮的 IBAction 方法中添加以下代码:

if (input == 4) {
    [self performSegueWithIdentifier: @"view2" sender: self];
} else {
    [self performSegueWithIdentifier: @"view3" sender: self];
}

此外,您可以对 view1 视图控制器使用 prepareForSegue 方法,您可以在其中设置目标视图控制器的属性:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"view2"]) 
    {
        [[segue destinationViewController] setManagedObjectContext:self.managedObjectContext];
        [[segue destinationViewController] setSelectedClient:selectedClient];
        [[segue destinationViewController] setAddNoteViewControllerDelegate:self];
    }
    if ([[segue identifier] isEqualToString:@"view3"]) 
    {
        // set properties for view3 view controller
    }
}
于 2012-01-23T16:55:21.987 回答