gpt4 book ai didi

iphone - Core Text - 从 NSRange 获取像素坐标

转载 作者:太空狗 更新时间:2023-10-30 03:36:33 27 4
gpt4 key购买 nike

对于使用 Core Text 呈现的文本,我如何从 NSRange 获取 CGRect

我正在使用带有 NSAttributedString 的 Core Text。

最佳答案

这绝对是痛苦的,但可以做到。

您需要使用 CTFrameGetLines() 获取框架中的所有行,使用 CTLineGetStringRange() 检查它们的字符范围是否在您要查找的范围内>,使用 CTLineGetTypographicBounds() 查找线条本身将呈现为多大,并使用 CTLineGetOffsetForStringIndex() 确定范围开始/结束字符的实际位置(如果该行只是所需范围的子范围)。

将所有这些结合起来并添加偏移量和高度等可以得到你想要的东西。请注意,如果没有图形上下文,CTLineGetImageBounds() 将无法工作(而且据我所知,它的开销还是很大的)并且不是解决此问题所必需的。

关于iphone - Core Text - 从 NSRange 获取像素坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4477742/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com