我们如何使用UITextField textFieldShouldReturn保留键盘而不是解雇它?

时间:2009-11-05 21:46:21

标签: objective-c iphone keyboard

我想在输入内容后保持键盘,因为我正在为一个问题收集多个答案。

到目前为止,我正在打电话:

- (BOOL)textFieldShouldReturn:(UITextField*)textField {
  [textField resignFirstResponder];
  return YES;
}

但是当删除resignFirstResponder时,我的输入处理程序没有得到任何响应:

- (void)textFieldDidEndEditing:(UITextField*)textField;

任何人都知道如何处理这个问题?

2 个答案:

答案 0 :(得分:2)

在我的

中找到我的解决方案
- (void)textFieldDidEndEditing:(UITextField*)textField;

我只是在将textField重新签名后将其恢复为第一响应者:

[textField becomeFirstResponder];

答案 1 :(得分:1)

感谢您发布回复,它让我指出了正确的方向。我发现了我认为更简单的解决方案:

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField{
    return NO; // Don't hide keyboard
}

// Use "did end on exit" instead of "did end" since "did end" won't get fired
- (IBAction)textViewDidEndOnExit{
    // Do stuff here...
}

如果从textFieldShouldEndEditing返回NO,则之后不需要调用becomeFirstResponder。

(我尝试将此作为评论发布到您的答案,但代码格式在那里不起作用...)