禁用了故事板跳转

时间:2015-03-29 13:38:43

标签: ios objective-c storyboard

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

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

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

}

2 个答案:

答案 0 :(得分:1)

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

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

别忘了将segue的标识符设置为" jumpToBViewController"在故事板上。

答案 1 :(得分:0)

在@PeterLendvay的答案上稍微扩展:如果你将一个segue附加到一个按钮,当用户点击按钮时(假设按钮已启用),segue总是触发。如果你想添加决定什么的逻辑要做的是,不要将segue直接链接到按钮。

相反,在视图控制器之间建立一个segue。使用唯一标识符命名segue。

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

你也可以使用这种方法让一个按钮决定几个不同的段。