簡體   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