如果您在自定义视图上实现了UITextInput,并使用CoreText呈现文本,那么您就可以绘制自己的光标和选择/标记,并完全使用硬件键盘。如果你切换到日语输入,你会看到标记,但有一些奇怪的事情:如果你长时间按住标记,你会得到矩形系统放大镜和选择处理,而不必自己处理触摸。
我不明白为什么我们必须为选择实现我们自己的触摸处理,画我们自己的放大镜等等。这是为了标记!那么我要怎么做才能让标准的手势识别器也添加到我的自定义视图中呢?
开发站点上的one示例只有一条关于用户选择的注释,该注释不在示例的范围内。这将表明你确实必须自己去做。
我不认为所有开发自己的富文本编辑器类的开发人员都在做自己的选择处理代码,更不用说自定义绘制圆形和矩形放大镜了?!当然,你可以尝试反向工程,让它非常接近,但如果选择机制有如此微小的差异,这可能会给用户一种奇怪的感觉。
我发现开发人员分为两组:
1)用大量的JavaScript代码使UIWebView成为编辑器2)精心实现了选择机制和放大镜绘制
那么这里的解决方案是什么呢?继续提交雷达,直到苹果添加了这一缺失的部分?或者这实际上已经存在(就像我遇到的前述工程师所说的那样),我们只是太愚蠢了,不知道如何利用它,而是求助于手动做所有事情(除了标记文本)?
即使是Omnifocus的聪明人似乎也认为手动方法是唯一有效的方法。这让我很难过,你得到了一个很棒的协议,但如果你实现了它,你会发现它严重残缺。甚至可能是故意的?
发布于 2012-12-31 17:34:25
不幸的是,我的问题的答案是:是的。如果你想在cusrom视图上获得选择机制,你必须自己编程。
从iOS 6开始,您可以子类化UITextView并自己绘制文本。根据一位苹果工程师的说法,这应该会为你提供系统选择。
https://stackoverflow.com/questions/6392493
复制相似问题