gpt4 book ai didi

iphone - NSRange 的多个 CTLine

转载 作者:行者123 更新时间:2023-11-29 04:45:36 28 4
gpt4 key购买 nike

我是核心文本新手。有没有办法找出 NSAttributedString 中的某个 NSRange 字符是否在多行上(CTLine)?

我正在做的是设置 NSAttributedString,然后使用该字符串创建框架 setter 。字符串的长度可以不同,我想知道如何查找范围(即短语)是否在多行上。因为它是一个不同长度的字符串,所以如果可以的话,我宁愿不设置每一行。

谢谢!

最佳答案

因此,您需要使用以下函数来获取该行的:

从框架 setter 获取 CTFrameRef 后,您需要调用:

CFArrayRef lines = CTFrameGetLines (frame);

然后要查看有多少行,请计算数组中的行数:

CFIndex numLines = CFArrayGetCount(lines);

如果您需要知道一行(本例中为第 0 行)中字符的确切范围(来自原始字符串),请使用:

CFRange range = CTLineGetStringRange(CFArrayGetValueAtIndex( lines, 0));

关于iphone - NSRange 的多个 CTLine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9690662/

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