我有一个带有大量文字渲染的应用程序。有时我需要在CoreText中渲染大约10页的文本才能显示相应的视图,这需要花费相当多的时间。
要构建页面,我使用CTFramesetterCreateFrame
将CTFrame呈现给视图。然后我使用CTFrameGetVisibleStringRange
来确定渲染的范围,因此我知道下一个Frame或Page的偏移量。
基本上我的问题是,如果我有一个NSAttributedString
和一个CGPath
,我用这两个来用CoreText绘制文本,那么我有什么办法可以获得可见的字符串范围而不需要事先渲染完整的CTFrame?我需要这个函数才能找到文本在实际渲染之前会有多少页面。
答案 0 :(得分:1)
您是否尝试过CTFramesetterSuggestFrameSizeWithConstraints? (https://developer.apple.com/library/mac/#documentation/Carbon/Reference/CTFramesetterRef/Reference/reference.html)