我正在加载一个包含表单的HTML页面。我希望能够在用户点击GO或点击HTML页面上的SUBMIT按钮时关闭键盘。
如果用户决定他不想填写表格,我还需要一种方法来解雇键盘。
不知道该怎么做。
答案 0 :(得分:34)
更简洁的方法,无需知道选择了哪个元素如下:
[webView stringByEvaluatingJavaScriptFromString:@"document.activeElement.blur()"];
答案 1 :(得分:29)
javascript方法很聪明,但这更直接:
[webView endEditing:YES];
答案 2 :(得分:11)
您可以使用javascript将焦点从HTML文本字段中移开:
document.foo.bar.myinput.blur();
答案 3 :(得分:1)
UIGestureRecogniser将帮助关闭键盘。这是我使用的代码。
let tap = UITapGestureRecognizer(target: self, action: #selector(self.handleTap(_:)))
tap.delegate = self
webView.addGestureRecognizer(tap)
@objc func handleTap(_发送者:UITapGestureRecognizer){ webView?.endEditing(true) }
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
希望有帮助。
答案 4 :(得分:-11)
我对UIWebView并不熟悉,但通常会像你这样关掉你的键盘......
[textField resignFirstResponder];
通过这样做,键盘将被解雇......
要说当用户点击返回按钮时关闭键盘,您需要实现委托方法。
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
Apple的文档包含UITextFieldDelegate的完整方法列表。