UIWebview字识别器

时间:2017-04-23 04:01:39

标签: swift3 uiwebview ios10

我正在努力将以下代码转换为在UIWebView中获取平移的单词。它在UITextView中运行良好。但是,我找不到任何会在UIWebView中执行此操作的内容。我知道它必须存在,因为我可以长时间在UIWebView中加载的网站中按下一个单词并将其选中。我想以编程方式返回这个词。最后,我想在ePub或PDF中执行相同的操作。任何帮助表示赞赏。

ngAfterViewInit

1 个答案:

答案 0 :(得分:0)

嘿,您可以添加UIMenuViewController并覆盖复制选项。我做了一个带有UIWebview扩展的小演示,这是我的整个代码

extension UIWebView {
  override open var canBecomeFirstResponder: Bool {
    return true 
  }

  override open func copy(_ sender: Any?) {
    let board = UIPasteboard.general
    let selectedString = self.stringByEvaluatingJavaScript(from: "window.getSelection().toString()")
    board.string = selectedString
    let menu = UIMenuController.shared
    menu.setMenuVisible(false, animated: true)
  }

  override open func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool {
    if action == #selector(UIResponderStandardEditActions.copy(_:)) {
      return true
    }
    return false
  }
}

我只是在webview中加载网页。你可以添加这个扩展,剩下的应该可以工作:)。