このプロジェクトで Storyboard を使用しており、ビュー内に UITextField があります。ユーザーは検索語を入力して Return キーを押すと、意図したとおりに resultsViewController へのセグエが発生します。
私が抱えている問題は、何らかの理由でキーボードが閉じられた場合、セグエが自動的に発生することです。たとえば、ユーザーが iPad のドロップ キーボード キーをタップすると、検索語なしでセグエが発生します... または、ユーザーが UITextField の外側をタップすると、キーボードは (意図したとおりに) ドロップしますが、セグエも発生します (意図しない)。
私が使用しているメソッドは次のとおりです (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];
}