0

多くのテキストレンダリングが行われているアプリがあります。対応するビューを表示できるようになる前に、CoreText で約 10 ページのテキストをレンダリングする必要がある場合がありますが、これにはかなりの時間がかかります。

ページを作成するCTFramesetterCreateFrameには、CTFrame をビューにレンダリングします。次にCTFrameGetVisibleStringRange、どの範囲がレンダリングされたかを判断するために使用するので、次のフレームまたはページのオフセットがわかります。

基本的に私の質問は、 と がNSAttributedStringありCGPath、どちらも CoreText でテキストを描画するために使用する場合、事前に完全な CTFrame をレンダリングすることなく、表示される文字列範囲を取得する方法はありますか? 実際にレンダリングする前に、テキストに含まれるページ数を確認できるようにするには、この関数が必要です。

4

1 に答える 1

1

CTFramesetterSuggestFrameSizeWithConstraints を試しましたか? ( https://developer.apple.com/library/mac/#documentation/Carbon/Reference/CTFramesetterRef/Reference/reference.html )

于 2012-08-03T15:15:43.857 に答える