UIWebView段落选择样式

时间:2012-03-23 04:30:17

标签: objective-c ios uiwebview textselection

pic1

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

pic2

1 个答案:

答案 0 :(得分:0)

通过阅读Using Copy, Cut and Paste Operations,您可以看到iOS为您实现了UIWebViewUITextViewUITextField的用户界面选择,因此您所看到的只是选择如何在这些UI对象中起作用。

(因此:只要用户在段落的范围内,那么用户就可以在第一个视图中演示的段落中选择部分文本;如果是用户的手指超出了段落的边缘,显示所选区域的底层UI代码将尝试选择它可以选择的最小项目子集,整个段落被视为此级别的原子单位。)

鉴于上面引用的文档仅描述了从菜单调用时如何调用各种剪切/复制/粘贴/选择操作(可以控制UIMenuController中显示的内容的菜单,以及对UIPasteboard中剪切/复制选择可以做些什么的控制,似乎没有一种方便的方法来指导UI如何响应控制边缘的用户选择。即使扩展UIWebView可能会使您能够捕获必要的触摸事件,但是您无法通过UIWebView的文档API来指示所选择的绘图。

所以,如果没有与非公共API混淆,有点难以想象如何在选择跨越段落的文本时有更精确的细粒度控制,除非你去实现自己的类来捕获触摸事件,控制他的选择,然后处理事件,以围绕您喜欢的边缘绘制选择。换句话说,你需要重新发明UIWebView及其所做的一切,除了你选择跨文本段落的特殊代码。

对不起。