ios故事板逻辑

Jac*_*nkr 1 ios xcode-storyboard

比方说,我有三个viewsstoryboard.

  • 视图1包含a input field和a button.
  • input field是用户将答案换成"2 + 2"的地方
  • 视图2包含"进入一年级!"的消息.
  • 视图3包含一条消息"你在数学方面很糟糕......"

我想使用故事板链接View 1View 2,但是我希望在View 1上触摸按钮时运行逻辑.

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

T.J*_*.J. 5

在storyboard中,通过控制 - 从视图控制器1拖动到视图控制器2,从View 1到View 2创建一个segue.单击segue并给它和标识符(例如view2).从View 1到View 3创建一个segue(给它和标识符view3)也是一样的.

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

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

此外,您可以在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
    }
}
Run Code Online (Sandbox Code Playgroud)