我对核心文本中的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));
任何帮助表示赞赏!
答案 0 :(得分:0)
您尚未解释pnt
来自何处,但可能不正确。 CTLineGetStringIndexForPosition
取一个相对于文本空间中每一行的起源的位置(通常是你可能期望的颠倒)。有关如何处理此问题的示例,请参阅Using CoreText and touches to create a clickable action。