一个按钮,根据条件导航到不同的视图控制器

时间:2014-01-16 09:26:32

标签: ios iphone objective-c segue xcode-storyboard

我是IOS的新手。我正在IOS中创建一个登录视图控制器,其中一个按钮已登录。当用户单击登录按钮时,我可能会显示两个view-controllers。我正在使用Storyboard,但我只能将一个segue指定给一个按钮。我不知道如何执行这个条件,因为我似乎没有100%控制segue。 这是我的代码:

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
    NSString *stringreponse=[[NSString alloc] initWithData:_responseData encoding:NSUTF8StringEncoding];
   // NSLog(@"Split response %@", [splitresponse objectAtIndex:0]);
    if([stringreponse isEqualToString:@"0"])
    {
        UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"Wrong username or password" message:@"Wrong username or password" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
        [alert show];
    }
    else
    {
        NSArray *splitresponse=[stringreponse componentsSeparatedByString:@"#"];
        if([[splitresponse objectAtIndex:0] isEqualToString:@"Parent"])
        {
            if([[splitresponse objectAtIndex:2] isEqualToString:@"yes"])
            {
                //seguechoice=@"showParentRegistration";
               //[self performSegueWithIdentifier:@"showParentRegistration" sender:self ];
            }else{
                //seguechoice=@"showSohoDashboard";
            }
        }
    }
}

2 个答案:

答案 0 :(得分:3)

您可以将一个segue分配给一个UI控件,但可以将多个分配给一个viewContoller。只需将它们全部添加到viewController,为每个id提供不同的id,然后调用那些id

if([[splitresponse objectAtIndex:2] isEqualToString:@"yes"])
{
    [self performSegueWithIdentifier:@"showParentRegistration" sender:self ];
}
else
{
    [self performSegueWithIdentifier:@"showSohoDashboard" sender:self ];
}

答案 1 :(得分:0)

在故事板中创建从源视图控制器到目标视图控制器(不是按钮)的2个连接。插入两个不同的标识符,当按下按钮时,执行条件并运行segue取决于条件:

if(CONDITION TO RUN SEGUE !)
{
   [self performSegueWithIdentifier:@"SEGUEIDENTIFIER1" sender:self ];
}else {
    [self performSegueWithIdentifier:@"SEGUEIDENTIFIER2" sender:self ];
}