IOS:WKWebView中的文本选择(WKSelectionGranularityCharacter)



我有一个应用程序,它使用可以选择文本的web视图。长期以来,在UIWebView中无法跨越块边界选择文本一直是一个烦恼。WKWebView似乎通过其配置中的属性selectionGranularity解决了此问题。其中一个可能的值是WKSelectionGranularityCharacter:

选择端点可以放置在任何角色边界处。

听起来很棒!正是我所需要的。除了当我在网络视图中设置它时,我通常根本无法再选择文本。发生了什么事?还有什么我需要设置的吗?有人想明白了吗?

更新:我发现了以下错误:

  1. selectionGranularity设置为WKSelectionGranularityCharacter的应用程序中有多个WKWebView时,只有最新加载的WKWebView才能选择文本。我已经将此作为错误18441138进行了归档。

  2. 如果在selectionGranularity设置为WKSelectionGranularityCharacter的WKWebView的HTML内容中,有一个点击处理程序附加到body内的元素,则文本选择在该元素内不起作用。我已将此作为错误18440833提交。

  3. 在应用程序中其他位置的UITextView上进入编辑模式后,WKWebView中的文本选择将失败,直到WKWebView重新加载为止。我已将此作为错误18468405提交。

有人在这些地方工作过吗?

从iOS 13开始,这些问题和其他问题都已修复。

有几个已知的错误仍未修复。

作为一种变通方法,您可以执行JavaScript来获取选定的文本。

window.getSelection().toString()

单据

最新更新