Search code examples
iossegueuistoryboardsegue

Perform segue after Login successful in Storyboards


I have 2 UITextFields, one of them for Login and the another for the Password.

Only if the Login is "succesful", I want to perform the Segue with Push to another View Controller. But when I touch the button, directly the View push to the Another View without check the Condition.

In StoryBoard I drag from the UIButton to the View Controller I want to push, for creating the segue with push option.

Here is my code:

- (IBAction)buttonLogin:(id)sender {
    if (([self.textFieldLogin.text isEqualToString:@"User"]) && ([self.textFieldPassword.text isEqualToString:@"1515"])){

       [self performSegueWithIdentifier:@"SegueLogin" sender:self];

    }else{
        UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"User wrong"
                                                      message:@"Fill up again the user info"
                                                     delegate:nil
                                            cancelButtonTitle:@"OK"
                                            otherButtonTitles:@"Cancel", nil];
        [alert show];
    }
}

Solution

  • You need to drag the segue from the overall UIViewController to the next UIViewController, i.e. you shouldn't specifically connect the UIButton (or any IBOutlet for that matter) to the next UIViewController if the transition's conditional.

    Like so:

    enter image description here