2

图1

正如您在第一张图片中看到的,我在我的应用程序中使用 UIWebview。但是当我将第二个手柄拖到下一段时,选择变成了一个矩形框,我只能选择整个段落,我怎样才能像第一张图片一样保持它?

图2

4

1 回答 1

0

通过阅读Using Copy, Cut and Paste Operations,您可以看到 iOS 已经为您实现了 UI 选择UIWebViewUITextView因此UITextField您所看到的只是选择在这些 UI 对象中的工作方式。

(因此:只要用户在段落的范围内,那么用户将能够选择段落中的一部分文本,正如您在第一个视图中所展示的那样;并且如果用户的手指在移动在段落边缘之外,显示所选区域的底层 UI 代码将尝试选择它可以选择的最小项目子集,整个段落在此级别被视为一个原子单元。)

鉴于上面引用的文档仅描述了从菜单调用时如何调用各种剪切/复制/粘贴/选择操作(对出现在UIMenuController's 菜单中的内容进行一些控制,并对您可以对剪切执行的操作进行一些控制/copied selection in a UIPasteboard),似乎没有一种方便的方法来指导 UI 如何响应控制选择边缘的用户。即使扩展UIWebView可能使您能够捕获必要的触摸事件,但您将无法通过记录在案的UIWebView.

因此,如果不使用非公共 API,很难想象如何对选择跨越段落的文本进行更精确的细粒度控制,除非您竭尽全力实现自己的类来捕获触摸事件有必要控制他的选择,然后处理事件以围绕您喜欢的边缘绘制选择。换句话说,你不得不重新发明UIWebView它所做的一切,除了你用于选择跨越文本段落的特殊代码。

对不起。

于 2012-09-20T04:18:53.547 回答