我在界面构建器中创建了一个文本字段。我将其“Return Key”设置为Done。这是仅有一行输入的字段(因此不需要多行)。
当用户点击完成按钮时,如何隐藏虚拟键盘?
实现委托方法UITextFieldDelegate
,然后:
- (void)viewDidLoad {
[super viewDidLoad];
self.yourIBtextField.delegate = self;
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return NO;
}
UITextView没有任何方法在用户按下回车键时被调用。
即使如此,如果您想要实现这个功能,请实现UITextViewDelegate的textView:shouldChangeTextInRange:replacementText:方法,并在其中检查替换文本是否为\n,然后隐藏键盘。
可能还有其他方法,但我不知道。
确保您声明支持UITextViewDelegate协议。
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range
replacementText:(NSString *)text {
if([text isEqualToString:@"\n"]) {
[textView resignFirstResponder];
return NO;
}
return YES;
}
- (void)hideKeyboard
{
[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder)
to:nil
from:nil
forEvent:nil];
}