我试图制作一个segue,但我有一个小问题,就是我点击了一个按钮,如果布尔值为YES,它将在segue中返回YES,否则返回NO但是每次我必须点击两次检查文本字段,因为它首先传递给shouldPerformSegueWithIdentifier
,而它应该首先检查IBAction。
请问我该如何解决这个问题?
- (IBAction)search:(id)sender{
if ([_txtfld.text isEqual:@"test"]) {
push = YES; //Bolean
}
else {
push = NO; //Bolean
}
}
- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender {
if ([identifier isEqualToString:@"SearchSegue"] && push==YES) {
NSLog(@"Showed");
return YES;
}
else{
NSLog(@"Not showed");
return NO;
}
}
答案 0 :(得分:2)
您需要从按钮中的操作中删除segue,将其移至视图控制器,然后在performSegueWithIdentifier
方法中调用IBAction
,或者只在{{1}中使用逻辑并删除shouldPerformSegueWithIdentifier
方法。
所以,要么 -
IBAction
并摆脱- (IBAction)search:(id)sender{
if ([self.txtfld.text isEqual:@"test"]) {
[self performSegueWithIdentifier:@"SearchSegue" sender:self];
}
}
或摆脱shouldPerformSegueWithIdentifier
方法而只是 -
IBAction