【发布时间】:2012-02-07 08:59:04
【问题描述】:
我想做的是创建一个文本容器组件,该组件能够在触摸时指示最近的单词是什么(即触摸点“后面”的单词)。
首先,我创建了一个 UILabel 子类并覆盖了 touchesEnded:withEvent: 方法来确定被触摸的 CGPoint。我还编写了一个方法,使用 sizeWithFont:forWidth:lineBreakMode: 计算文本每个单词的相应“框架”(CGRect)。通过触摸的 CGPoint 和这一帧,我可以确定实际触摸的是哪个单词。但是计算框架的方法只适用于单行文本。
所以现在我需要知道文本的哪一部分在给定的行上(即文本是如何被分割的),这样我才能计算出每个单词的正确左边距和上边距。
知道如何获得这个吗? 或者,也许您有更直接的解决方案来实现这一目标? This post was unfortunately not very helpful......
【问题讨论】:
标签: ios text word touch uilabel