我知道如何使用 sizeWithFont
找到文本的大小,但我真正想做的是找到在 中绘制的文本的实际最高点和最低点>UILabel
.
我需要向其中包含 UILabel
的 View 添加一个人工光标。问题在于 UILabel
中的文本似乎任意更改其顶部和底部边距。我不知道操作系统如何确定将文本放置在 UILabel
中的位置。
因此,如果能够创建一个类别或方法来计算绘制到 View 上的实际文本的 Y 轴像素原点,那就太好了。
这可能吗? UITextField 如何完美定位文本和光标?
更新
我在想这可能通过获取 UILabel 上下文并找到顶部的空白来实现,这应该给我实际文本的 Y 像素原点吧?不过,我什至不知道从哪里开始,或者让它足够有效以不抑制对 UILabel 的频繁更改。
非常感谢。
最佳答案
您需要使用 UILabel 还是可以使用禁用的 UITextView?
对于 TextView ,你可以做类似的事情
CGRect rect = [textView.layoutManager usedRectForTextContainer:textView.textContainer];
这应该给你你想要的。如果内存服务于它返回的 rect 将相对于 TextView 。
希望这有帮助:)
关于iphone - 获取 UILabel 中文本的物理位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14831490/