获取UILabel中文本的物理位置

时间:2013-02-12 11:29:07

标签: iphone ios ipad uilabel

我知道如何使用sizeWithFont找到文本的大小,但我真正想要做的是找到UILabel中绘制的文本的实际最高点和最低点

我需要在其中包含UILabel的视图中添加人工光标。问题是UILabel中的文本似乎任意改变其顶部和底部边距。我无法弄清楚操作系统如何确定在UILabel

中定位文本的位置

那么最棒的是能够创建一个类别或方法来计算绘制到视图上的实际文本的Y轴像素原点。

这有可能吗? UITextField如何完美地定位文本和光标?

更新

我认为这可能是通过获取UILabel上下文并在顶部找到空白来实现的,这应该给我实际文本的Y像素原点对吗?我不知道从哪里开始,或者使它足够有效,不会抑制对UILabel的频繁更改。

非常感谢。

1 个答案:

答案 0 :(得分:0)

您需要使用UILabel还是使用禁用的UITextView?

对于文本视图,您可以执行类似

的操作
CGRect rect = [textView.layoutManager usedRectForTextContainer:textView.textContainer];

这应该可以满足您的需求。如果内存服务于它返回的矩形将相对于文本视图。

希望这会有所帮助:)