正如您在第一张图片中看到的那样,我在我的应用程序中使用 UIWebview。
但是当我将第二个 handle 拖到下一个段落时,选择变成了一个矩形框,我只能选择整个段落,我怎样才能像第一张图片一样保持它?
最佳答案
从阅读 Using Copy, Cut and Paste Operations ,可以看到iOS已经实现了UIWebView
的UI选择, UITextView
和 UITextField
对您来说,因此您所看到的只是选择在这些 UI 对象中的工作方式。
(因此:只要用户在段落的范围内,那么用户将能够选择段落中的一部分文本,正如您在第一个 View 中所展示的那样;并且如果用户的手指在移动在段落边缘之外,显示所选区域的底层 UI 代码将尝试选择它可以选择的最小项目子集,整个段落在此级别被视为一个原子单元。)
鉴于上面引用的文档仅描述了如何调用各种 剪切/复制/粘贴/选择从菜单调用时的操作(对 UIMenuController
的菜单中显示的内容进行一些控制,并对 UIPasteboard
中的剪切/复制选择进行一些控制),似乎没有一种指导 UI 如何响应控制选择边缘的用户的便捷方式。甚至延伸到 UIWebView
可能使您能够捕获必要的触摸事件,但您将无法通过 UIWebView
的文档化 API 来指导生成的选择绘图。 .
因此,如果不使用非公共(public) API,很难想象如何对选择跨越段落的文本进行更精确的细粒度控制,除非您竭尽全力实现自己的类来捕获触摸事件有必要控制他的选择,然后处理事件以围绕您喜欢的边缘绘制选择。换句话说,你不得不重新发明 UIWebView
以及它所做的一切,除了用于跨文本段落的选择的特殊代码。
对不起。
关于objective-c - UIWebView 段落选择样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9834184/