![](/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.