禁用情节提要跳转

disabled the storyboard jump

我已经创建了一个关于故事板的项目,故事板上有两个视图控制器,名为 'loginViewController','BViewController',loginViewController 上有一个登录按钮,我已经设置了登录按钮触发的 segues 操作是 BViewController。

在登录按钮的情况下,如果登录成功我想跳转到BViewController,否则禁用跳转,但看起来总是跳转到BViewController,我怎么让它不跳转?

if (loginResult)
{
    [self.navigationController popViewControllerAnimated:YES];
}
else
{

}

您应该在 UIViewController 之间设置 segue,并在按钮上设置一个单独的 IBAction。在 IBAction 中使用这个:

 if (loginResult)
{
   [self performSegueWithIdentifier:@"jumpToBViewController" sender:self];
}

不要忘记在故事板上将 segue 的标识符设置为 "jumpToBViewController"。

稍微扩展一下@PeterLendvay 的回答:如果您将 segue 附加到按钮,则 segue 总是在用户单击按钮时触发(假设按钮已启用)。如果您想添加逻辑决定做什么,不要 link 直接转到按钮。

相反,在视图控制器之间进行连接。使用唯一标识符命名该 segue。

然后将 IBAction 附加到按钮。现在您可以在用户单击按钮时 运行 编码。在该代码中,决定是否应该触发 segue。如果确实要触发 segue,请调用 performSegueWithIdentifier 方法。

您也可以使用此方法让按钮在多个不同的转场之间做出决定。