我创建了一个关于storyboard的项目,故事板上有两个视图控制器,名为' loginViewController' BViewController&#39 ;, loginViewController上的登录按钮,我已设置登录按钮触发segues动作是BViewController。
如果登录按钮,如果登录成功,我想跳转到BViewController,否则禁用跳转,但看起来总是跳转到BViewController,我怎么能让它不跳?
if (loginResult)
{
[self.navigationController popViewControllerAnimated:YES];
}
else
{
}
答案 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方法。
你也可以使用这种方法让一个按钮决定几个不同的段。