很抱歉,如果之前有人问这个问题。如果登录凭据有效,我希望我的loginSegue(推送)打开目标控制器。
我的第一个控制器和下一个控制器通过push segue(登录segue)连接
第一个控制器有登录按钮,在其按下事件我调用performSegueWithIdentifier
我这样做是为了
- (IBAction)loginMe:(id)sender {
[self performSegueWithIdentifier:@"loginSegue" sender:self];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"loginSegue"])
{
if ([[nameTextField text] isEqualToString: @"admin"] && [[passwdTextField text] isEqualToString:@"1234"]) {
// destinationVC *vc= [[destinationVC alloc] init];
// [segue destinationViewController] =vc;
// destinationVC *vc = [segue destinationViewController];
// how i set destinationVC as my destination controller ?
NSLog(@"Credentials Match");
}else{
NSLog(@"Credentials dont Match");
}
}
}
答案 0 :(得分:0)
这个问题与技术性无关,而与逻辑有关。
一旦调用“performSegueWithIdentifier”,就会调用- (IBAction)loginMe:(id)sender {
if([txtEmailField.text isEqualToString: @"username@domainname.com"] && [txtPassword.text isEqualToString: @"password"])
{
[self performSegueWithIdentifier:@"loginSegue" sender:self];
}
else
{
[[UIAlertView alloc] initWithTitle:@"" message:@"Please enter valid e-mail address and password" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
}
答案 1 :(得分:0)
首先,您需要将故事板segue从 Push Segue更改为自定义segue 。
要做到这一点,你需要删除你现有的推送segue并创建一个新的,从一个viewController拖动到另一个(你不需要从按钮拖动),之后你需要在loginMe函数内用performSegueWithIdentifier手动调用segue。
我希望它有所帮助。