【发布时间】:2013-10-26 19:25:02
【问题描述】:
我正在尝试解决hairy problem with UILabel,我已经弄清楚了大部分问题,除了一件事:我很难理解CTLine 拥有“字符串访问权限”意味着什么”。
我想使用的方法是CTLineGetOffsetForStringIndex。 Here's a link to the documentation for the method.
这是我不理解的文档部分(重点是我的):
charIndex 沿基线的主要偏移量,或 0.0,如果 行不支持字符串访问。
当我运行这个方法时,我得到了0.0,所以我猜这意味着该行不支持字符串访问——但这究竟意味着什么?
【问题讨论】:
-
不需要代码 - 我试图理解 Apple 的文档在说什么,而不是在这里就我自己的代码寻求帮助。谢谢!
-
@bryanjclark 这方面有什么进展吗?
-
@BarrettJ 不,没什么' :(
-
我刚刚为此开了一个赏金,因为我也为此撞到了墙上。在我的情况下,这是我 100% 的错误,我在遍历行,然后遍历每行的范围。在最里面的循环中,我正在做一些达到
CTLineGetOffsetForStringIndex(line, lineIndex, NULL)的效果。我正在使用该行的索引(在我的情况下始终为 0 - 因为我的测试文本没有换行),而我应该使用lineRangeIndex代替。 -
CTLineGetOffsetForStringIndex的一个糟糕之处在于它为错误状态返回了一个潜在的有效值。返回值 0.0 可能仅表示该行以请求的索引开头。你确定不是这样吗?
标签: iphone ios uilabel core-text ctlineref