Jacksonkr
Jacksonkr

Reputation: 32247

ios storyboard logic

Let's say I have three views on my storyboard.

I want to link View 1 and View 2 using the storyboard, but I want to run logic when the button is touched on View 1.

If the input field is == 4 then you are taken to View 2 and if not then you are taken to View 3. Is something like this possible with storyboarding?

Upvotes: 1

Views: 521

Answers (1)

T.J.
T.J.

Reputation: 3960

Yes

In storyboard create a segue from View 1 to View 2 by control-dragging from view controller 1 to view controller 2. Click on the segue and give it and identifier (view2 for example). Do the same thing to create a segue from View 1 to View 3 (give it and identifier view3).

Then in your view1 view controller code add the following code when the in the IBAction method for the button:

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

In addition you can a prepareForSegue method to the view1 view controller where you can set properties on the destination view controllers:

- (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
    }
}

Upvotes: 5

Related Questions