我有一个问题。需要一组分对混合文本链接和可点击的案文。

在Facebook应用程序可以看到一个例子。http://img193.imageshack.us/img193/1355/example1t.jpg

有人知道一个比可以做到这一点。例如,UITextView可以检测到的链接文本,但不能插入可点击的案文。

谢谢你的帮助。

有帮助吗?

解决方案

我已经使用CoreText用于这一目的。

计算击偏移是一个棘手的,因为我一直忘触的协调系统,但我最终得到了它,这里有一个简要概述了如何可以做到这一点:

  1. 为你作为一个文字 NSMutableAttributedString (自从你将需要修改它在某个点)。
  2. 扫描它的文本,你想增加一个链接到,插入两个特性:1)一个文本色,例如,蓝色;2)一个自定义的链接属性(称它你喜欢的任何东西,可使其价值链路,你想去)
  3. 呈现在你的文本 drawRect:.你需要创建一个 CTFramesetterRef 和一个 CTFrameRef (后者你只想保持周围。还注意到,创建一个framesetter是一个昂贵的过程,这样做只有一次(即外drawRect:)如果可能)。
  4. 在你的触摸处理代码,正如我早些时候提到的那样,你会需要弥补不同的坐标系统。从那里,假设你知道你的文本使用的是它的协调系统,可以找出上文本正在呈现的点击,然后被截获的,在你的触摸处理程序,如果在一个特定的属性 CTRunRef 包含定义的链接属性。如果它不会,只是得到的属性,并通过它为什么--通常这是你将要使用的委托。

这就是症结所在。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top