0

目標は、テキストを iBooks スタイルのページのようにフォーマットして表示することです。このためにUIPageViewController、必要なアニメーションのトランジションを指定し、UIViewControllerコレクションなどを生成します。テキストを表示するにはUITextView、各UIViewControllerコレクションに配置します。

そして、ページのテキストを自動的に分割するために、次の手順を独自に作成しました。

[NSString sizeWithFont:...].

ここからの情報をありがとう - iBooks アプリはどのように別々のページのテキストをフォーマットしますか?

すべてが機能していますが、私が望むほどうまくいきません。NSStringあまり便利でUITextViewはなく、適切な書式設定のないテキストが表示されます。分割も十分ではありません=)

さらに、 で分割しようとしましたCore Text。アプローチはここに示されています -長い NSString をページに分割する方法

それも機能します。Core Textよく分割され、他の多くの優れた機能があります。しかし!コア テキスト テキストで分割された値を で使用できませんでしたUITextView。Core Text ページごとに分割して表示するには、Core Textテクニックを使用する必要があります。

質問は次のとおりです: を作成し、コレクションCTFrameごとに追加/描画する方法は?UIViewControllerUIPageController

それは不可能だと思います。もしそうなら、必要な機能を実現するためのアイデアを提案してください。

そして、私の質問を許してください、私はiOSプログラミングの初心者です。

4

1 に答える 1

0

私はこれを行っていませんが、CTFrame から適合する文字列範囲を取得できるように見えます。

CTFrameRef ctFrameRef = // get this from CTFrameSetter
CFRange cfRange = CTFrameGetVisibleStringRange(ctFrameRef);
NSRange range = NSMakeRange(cfRange.location, cfRange.length);

次に、範囲を使用して元の文字列を切り分けることができます。

于 2013-10-08T14:48:59.837 に答える