![](/img/trans.png)
[英]NSRange:rangeOfString throws an exception in AFHTTPRequestOperation's success block
[英]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.