获取UILabel中文本的物理位置

Tho*_*son 5 iphone uilabel ipad ios

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

我需要将一个人工游标添加到一个UILabel内部的视图中.问题是a中的文本UILabel似乎任意改变其顶部和底部边距.我无法弄清楚操作系统如何确定在哪里定位文本UILabel.

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

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

UPDATE

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

非常感谢.

Geo*_*een 0

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

对于文本视图你可以做类似的事情

CGRect rect = [textView.layoutManager usedRectForTextContainer:textView.textContainer];
Run Code Online (Sandbox Code Playgroud)

这应该会给你你想要的。如果内存服务于它返回的矩形将相对于文本视图。

希望这可以帮助 :)