多くのテキストレンダリングが行われているアプリがあります。対応するビューを表示できるようになる前に、CoreText で約 10 ページのテキストをレンダリングする必要がある場合がありますが、これにはかなりの時間がかかります。
ページを作成するCTFramesetterCreateFrame
には、CTFrame をビューにレンダリングします。次にCTFrameGetVisibleStringRange
、どの範囲がレンダリングされたかを判断するために使用するので、次のフレームまたはページのオフセットがわかります。
基本的に私の質問は、 と がNSAttributedString
ありCGPath
、どちらも CoreText でテキストを描画するために使用する場合、事前に完全な CTFrame をレンダリングすることなく、表示される文字列範囲を取得する方法はありますか? 実際にレンダリングする前に、テキストに含まれるページ数を確認できるようにするには、この関数が必要です。