CTLineGetStringIndexForPosition在核心文本中给出了错误的索引

时间:2013-01-11 01:48:15

标签: ios objective-c core-text

我对核心文本中的CTLineGetStringIndexForPosition有疑问。

我有这样的文字:

Question: Hello, how are you today?
Answer: I am fine thank you
Question: great day isn't it?
...

在上面的文字中,我为每个'问题:'单词设置了属性以使其可以进行。我将所有这些文本放在UITableview单元格上。我有很多类似的细胞,有问题和答案。 当我触摸其中一个单元格上的'问题:'字时,我得到的索引是正确的。我在UITableview中向下滚动,然后我有另一个像以前那样的文本。当我点击'问题:'时索引不正确。

这是我实现索引的方式。

index = CTLineGetStringIndexForPosition(line,CGPointMake(lineOrigins[i].x + pnt.x, pnt.y));

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

您尚未解释pnt来自何处,但可能不正确。 CTLineGetStringIndexForPosition取一个相对于文本空间中每一行的起源的位置(通常是你可能期望的颠倒)。有关如何处理此问题的示例,请参阅Using CoreText and touches to create a clickable action