Iphone 获取UILabel中文本的物理位置
我知道如何使用Iphone 获取UILabel中文本的物理位置,iphone,ios,ipad,uilabel,Iphone,Ios,Ipad,Uilabel,我知道如何使用sizeWithFont查找文本大小,但我真正想做的是查找在UILabel中绘制的文本的实际最高点和最低点 我需要在视图中添加一个带有UILabel的人造光标。问题在于UILabel中的文本似乎会任意更改其上下边距。我无法确定操作系统如何确定文本在UILabel中的位置 因此,最好能够创建一个类别或方法,计算出绘制到视图上的实际文本的Y轴像素原点 这可能吗?UITextField如何完美地定位文本和光标 更新 我想这可能是通过获取UILabel上下文并在顶部找到空白来实现的,这应该
sizeWithFont
查找文本大小,但我真正想做的是查找在UILabel
中绘制的文本的实际最高点和最低点
我需要在视图中添加一个带有UILabel
的人造光标。问题在于UILabel
中的文本似乎会任意更改其上下边距。我无法确定操作系统如何确定文本在UILabel
中的位置
因此,最好能够创建一个类别或方法,计算出绘制到视图上的实际文本的Y轴像素原点
这可能吗?UITextField如何完美地定位文本和光标
更新
我想这可能是通过获取UILabel上下文并在顶部找到空白来实现的,这应该给我实际文本的Y像素原点,对吗?我甚至不知道从哪里开始,也不知道如何使它足够有效,以避免频繁更改UILabel
非常感谢。您需要使用UILabel还是可以使用禁用的UITextView 对于文本视图,可以执行以下操作
CGRect rect = [textView.layoutManager usedRectForTextContainer:textView.textContainer];
这会给你你想要的。如果内存为rect服务,那么它返回的rect将是相对于文本视图的
希望这有帮助:)是否
[UITextField textRectForBounds:
不能满足您的需要?如果字体大小减小,它似乎不会改变高度(自动收缩UILabel)