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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个按钮,根据条件导航到不同的视图控制器相关的知识,希望对你有一定的参考价值。

我是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";
            }
        }
    }
}
答案

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

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

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

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

以上是关于一个按钮,根据条件导航到不同的视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

如何根据滑出菜单导航到不同的视图控制器

UITabBar 控制器选项卡导航到不同的 UIViewControllers

不同导航视图控制器上的后退按钮不同

使用导航控制器按下后退按钮后如何防止前一个片段显示?

SwiftUI 如何根据条件导航到多个可能的视图?

片段的条件自定义 OnBackPress