3

NSAttributedString(任意に大きい) 、この場合は(任意に長い)telnetセッションからのANSI色のテキストをレンダリングする必要があります。テキストはインラインで編集可能である必要はありません。私はいくつかのオプションを検討しました:

  • UITextView最高のパフォーマンスを発揮しているようです。私はiOS6をターゲットにしているので、属性付き文字列で非常に簡単に使用できます。setAttributedString:ただし、テキストビューは、UIを呼び出してブロックするたびに、HTML DOMパーサーにヒットするため、テキストが追加されるにつれてレンダリングが徐々に遅くなります。
  • 私はいくつかのコアテキストレンダリングフレームワークを試しましたが、テキストが増えるTTTAttributedLabelOHAttributedLabel徐々に遅くなります。公平を期すために、それらはおそらくこの種のものを意図していないラベルです!
  • UIWebViewgag)は、回転とテキストの適切なサイズとフレームの維持にいくつかの問題がありますが、私はそれを回避できると思います。属性付きの文字列をHTMLに変換し、JavaScriptを使用して、受信時に新しいテキストを追加(挿入)できます。ここで驚くほど良いパフォーマンス。
  • 友人は、ユーザーの現在のスクロール位置をより大きなドキュメントへのビューポートと見なし、(おそらくコアテキストを使用して)属性付き文字列の表示部分のみをレンダリングすることを提案しました。これがスクロールパフォーマンスにどのように影響するか心配です。

だから私はあなたに目を向けます、勇敢なインターウェブ。インディー開発者のためのアイデア?Webビューは私の最善の策ですか?

4

1 に答える 1

0

UITableViewを使用してNSAttributedString、セルのラベル幅にそれぞれ適合するサブストリングの配列に分割することができます。テーブルビューのデータソースは、サブ文字列の配列にインデックスを付けて、元の文字列のどの行を各セルに配置するかを決定します。

于 2012-11-14T21:31:00.270 に答える