我有一个应用程序,它使用可以选择文本的web视图。长期以来,在UIWebView中无法跨越块边界选择文本一直是一个烦恼。WKWebView似乎通过其配置中的属性selectionGranularity
解决了此问题。其中一个可能的值是WKSelectionGranularityCharacter
:
选择端点可以放置在任何角色边界处。
听起来很棒!正是我所需要的。除了当我在网络视图中设置它时,我通常根本无法再选择文本。发生了什么事?还有什么我需要设置的吗?有人想明白了吗?
更新:我发现了以下错误:
-
当
selectionGranularity
设置为WKSelectionGranularityCharacter
的应用程序中有多个WKWebView时,只有最新加载的WKWebView才能选择文本。我已经将此作为错误18441138进行了归档。 -
如果在
selectionGranularity
设置为WKSelectionGranularityCharacter的WKWebView的HTML内容中,有一个点击处理程序附加到body
内的元素,则文本选择在该元素内不起作用。我已将此作为错误18440833提交。 -
在应用程序中其他位置的UITextView上进入编辑模式后,WKWebView中的文本选择将失败,直到WKWebView重新加载为止。我已将此作为错误18468405提交。
有人在这些地方工作过吗?
从iOS 13开始,这些问题和其他问题都已修复。
有几个已知的错误仍未修复。
作为一种变通方法,您可以执行JavaScript来获取选定的文本。
window.getSelection().toString()
单据