我一直在搜索这个问题并且没有任何运气,如何通过点击按钮在iphone上显示键盘,并将焦点设置在WKWebview输入栏上?
我有这个代码初始化一个按钮并在swift 3中调用一个函数
let keyBoardButton = UIButton (type: .custom)
keyBoardButton.setImage(UIImage(named: "keyboard.png"), for: UIControlState.normal)
keyBoardButton.addTarget(self, action: #selector(ViewController.showKeyboard), for: UIControlEvents.touchUpInside)
keyBoardButton.frame = CGRect(x: 0, y: 0, width: 25, height: 25)
我正在调用这个函数
func showKeyboard() {
self.delay { [weak self] in
let javascript = " document.getElementById('myID').focus();"
self?.webView?.evaluateJavaScript(javascript) { [weak self] (result, error) in
if let error = error {
print(error)
} else if let result = result{
print(result)
}
}
}
}
我将注意力集中在我的输入字段上,但我不知道如何显示键盘,有谁可以帮忙解决这个问题?
答案 0 :(得分:0)
您需要使用evaluateJavaScript
上的WKWebView
方法在关注文本字段的页面上运行一些javascript。
javascript将取决于页面,但它可能是这样的。
let js = "document.getElementById(\"MY_TEXTFIELD_ID\").focus();"
webView.evaluateJavaScript(js)
编辑:经过一番挖掘,看来这是WebKit中的一个已知错误。 https://bugs.webkit.org/show_bug.cgi?id=142757
答案 1 :(得分:0)
我遇到了同样的问题
使用后 Great Answer将Javascript注入您的WebKitView,只需使用
document.getElementById('myID').focus();
或
document.getElementsByClassName('myClass').focus();
将focus()属性添加到输入