我在这个项目中使用了Storyboard,并在视图中有一个UITextField.用户可以输入搜索词,按回车键,并按预期发生到resultViewController的segue.
我遇到的问题是,如果由于任何原因键盘被解除,segue会自动发生.例如,如果用户点击iPad的下拉键盘键,则segue在没有搜索词的情况下发生...或者如果用户点击UITextField之外,键盘会下降(按预期),但也会发生segue(非预期).
这是我正在使用的方法(UITextField的委托在故事板中设置); 另外,当我试图找出解决方案时,我在几个地方输入了"resignFirstResponder"和"endEditing:YES"消息.抱歉这个烂摊子:
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
if ([textField.text isEqualToString:@""]) {
[textField resignFirstResponder];
return NO;
}
self.clueString = textField.text;
[textField resignFirstResponder];
return YES;
}
- (BOOL) textFieldShouldEndEditing:(UITextField *)textField {
[self.view resignFirstResponder];
return YES;
}
-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
[self.view endEditing:YES];
}
Run Code Online (Sandbox Code Playgroud)