我有一个带有一些文本的 UILabel,比如“Hello World abcdefg” 该标签可以有多行、不同的字体大小等。
问题:如何找到此 UILabel 中所有字母“d”的坐标。
逻辑的第一步是找到这些字符在字符串(UILabel.text)中的位置,但是当它实际绘制在屏幕上时,如何将其转换为坐标
这个想法是找到这些坐标并在该角色之上绘制一些自定义的内容(基本上是用自定义图像覆盖它)
最佳答案
在 iPhone 上测量文本的基本工具位于 UIStringDrawing.h
中,但它们都无法满足您的需求。您基本上必须一次迭代一个字符来测量每个子字符串。当行换行时(结果更高),在最后一个未换行的字符之后进行分割,并将行高添加到 y 坐标。
- (CGSize)sizeWithFont:(UIFont *)font forWidth:(CGFloat)width lineBreakMode:(UILineBreakMode)lineBreakMode;
关于iphone - 在 iPhone 上的 UILabel 中查找特定字符的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3191049/