如何从按钮有条件地调用故事板场景

时间:2013-06-12 11:52:58

标签: iphone uibutton storyboard

我有一个应用程序,第一个场景是登录屏幕。按下登录按钮,如果用户名和密码正确,则应调用下一个场景。否则会显示警报。但我无法弄清楚如何有条件地获得下一个场景。

if ([jsonDict valueForKey:@"success"] && [jsonDict valueForKey:@"redirect"]) {

                    NSLog(@"%@", [jsonDict valueForKey:@"success"]);
                    NSLog(@"%@", [jsonDict valueForKey:@"redirect"]);
                    NSString *redirect = [jsonDict valueForKey:@"redirect"];
                    [self performSegueWithIdentifier:@"next" sender:self];
                }
                else {
                    NSArray *jsonArray = [jsonDict valueForKey:@"errors"];
                    NSString *err = [jsonArray objectAtIndex:0];
                    NSLog(@"%@", err);
                    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Invalid Credentials!" message:err delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
                    [alert show];
                }

2 个答案:

答案 0 :(得分:0)

为故事板中的下一个viewcontroller设置Segue,并为该segue提供唯一标识符。然后,如果用户名和密码正常,只需致电

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

答案 1 :(得分:0)

使用以下代码:

- (void)validateLogin{
//code to check username and password are correct
if(correct){
[self performSegueWithIdentifier:@"SignInToNextScreen" sender:self];
}else{
 UIAlertView *myalert = [[UIAlertView alloc]initWithTitle:@"Login Failed" message:@"Invalid Username/Password" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];   
   }
 }

// SignInToNextScreen 是手动触发的segue的segue标识符。

请参阅随附的屏幕截图 enter image description here