在我的应用中,我有一个登录屏幕。但是,当您将登录按钮中的segue连接到下一个(表格)视图控制器时,无论您输入什么作为登录信息,您始终都可以继续。如何检查登录信息,然后决定是否执行segue,那么如何有条件地执行segue?
使用segue时是否可以实现这一目标?我知道它可以通过编程方式完成,但后来我需要另一个导航控制器,因为我需要一个导航栏..
答案 0 :(得分:20)
您可以将登录按钮或任何内容连接到某些IBAction代码,确定是否应该继续登录,然后(如果应该)您可以使用performSegueWithIdentifier:
转换到新视图。
我刚刚撰写了另一篇关于使用此方法的文章here。
答案 1 :(得分:10)
在iOS 6上,UIViewController的shouldPerformSegueWithIdentifier:sender:
方法解决了这个问题,无需手动触发segues。
答案 2 :(得分:3)
- (IBAction)nextButtonPressed:(id)sender
{
if ([self hasAllRequiredFields]) {
[self performSegueWithIdentifier:@"showDashboard" sender:self];
}
}
答案 3 :(得分:2)
这是迟来的,但最好是setEnabled:不管是什么触发segue直到segue“有效”。这将你的segue逻辑与你的视图逻辑分开......