iphone - 在 iPhone 上的 UILabel 中查找特定字符的位置

标签 iphone coordinates uilabel character cgpoint

我有一个带有一些文本的 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/

相关文章:

iphone - 在 iPhone 应用程序中使用异步方法调用的 FTP 文件

javascript - 给定另外两个点和标题确定点

ios - 如何在标签中输出正确的数字?

ios - IBOutlet 不在 UI 中显示其值

ios - 如何向 UILabel 的固有内容大小添加填充?

ios - 在 iOS 7 中隐藏状态栏时防止 UINavigationController 调整原点

ios - 云台 iOS SDK 错误

iphone - 通过我的应用程序可以通过网络存储/下载的最大数据?沙箱有什么限制吗?

c - 找到缩放元素的正确位置(添加图表)

iOS 类似 Mac 应用程序中的坐标系统