繁体   English   中英

如何在UIWebView上关闭键盘?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM