[英]How to dismiss keyboard on a UIWebView?
我正在加载一个包含表单的HTML页面。 我希望能够在用户点击GO或者点击HTML页面上的SUBMIT按钮时关闭键盘。
如果用户决定他不想填写表格,我还需要一种方法来解雇键盘。
不知道该怎么做。
更简洁的方法,无需知道选择了哪个元素如下:
[webView stringByEvaluatingJavaScriptFromString:@"document.activeElement.blur()"];
javascript方法很聪明,但这更直接:
[webView endEditing:YES];
您可以使用javascript将焦点从HTML文本字段中移开:
document.foo.bar.myinput.blur();
当用户点击WebView时,UIGestureRecogniser将帮助关闭键盘。 这是我使用的一段代码。
let tap = UITapGestureRecognizer(target: self, action: #selector(self.handleTap(_:)))
tap.delegate = self
webView.addGestureRecognizer(tap)
@objc func handleTap(_ sender:UITapGestureRecognizer){webView?.endEditing(true)}
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
希望有所帮助。
我对UIWebView不太熟悉,但通常你会解雇你的键盘......
[textField resignFirstResponder];
通过这样做,键盘将被解雇......
要在用户单击返回按钮时关闭键盘,您需要实现委托方法。
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
Apple的文档包含UITextFieldDelegate的完整方法列表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.