组分对混合文本,和可点击的链接文本
-
26-09-2019 - |
题
我有一个问题。需要一组分对混合文本链接和可点击的案文。
在Facebook应用程序可以看到一个例子。http://img193.imageshack.us/img193/1355/example1t.jpg
有人知道一个比可以做到这一点。例如,UITextView可以检测到的链接文本,但不能插入可点击的案文。
谢谢你的帮助。
解决方案
我已经使用CoreText用于这一目的。
计算击偏移是一个棘手的,因为我一直忘触的协调系统,但我最终得到了它,这里有一个简要概述了如何可以做到这一点:
- 为你作为一个文字
NSMutableAttributedString
(自从你将需要修改它在某个点)。 - 扫描它的文本,你想增加一个链接到,插入两个特性:1)一个文本色,例如,蓝色;2)一个自定义的链接属性(称它你喜欢的任何东西,可使其价值链路,你想去)
- 呈现在你的文本
drawRect:
.你需要创建一个CTFramesetterRef
和一个CTFrameRef
(后者你只想保持周围。还注意到,创建一个framesetter是一个昂贵的过程,这样做只有一次(即外drawRect:)如果可能)。 - 在你的触摸处理代码,正如我早些时候提到的那样,你会需要弥补不同的坐标系统。从那里,假设你知道你的文本使用的是它的协调系统,可以找出上文本正在呈现的点击,然后被截获的,在你的触摸处理程序,如果在一个特定的属性
CTRunRef
包含定义的链接属性。如果它不会,只是得到的属性,并通过它为什么--通常这是你将要使用的委托。
这就是症结所在。
不隶属于 StackOverflow