繁体   English   中英

NSRange的多个CTLine

[英]Multiple CTLine's for NSRange

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

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

谢谢!

因此,您需要使用以下功能来获取行的内容:

从制版机获取CTFrameRef之后,您需要调用:

CFArrayRef lines = CTFrameGetLines (frame);

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

CFIndex numLines = CFArrayGetCount(lines);

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM