2012-01-13 14 views
5

Instagramで説明しているようにリッチフォーマットのテキストビューを実装したいと思います。以下はスクリーンショットです。Instagramのようなリッチテキストの表示

具体的には、私の目標は以下のとおりです。同じテキストビューの異なる位置で

  1. 言葉は、異なるフォントサイズ、フォントの色やフォントスタイル(太字、斜体など)を有していてもよいです。
  2. デリゲートコールバックでタッチイベント(長押し、タッチダウンなど)を検出できます。このようなコールバックメソッドでは、情報(長い言葉であるか触れているかなど、触れている単語)を収集することができます。

Three20のような大きなフレームワークは問題になりません。小さくて独立したライブラリが非常に好ましい。低レベルのCocoa Touch APIは、数日以上かかる場合もあります。

どのような提案も高く評価されています。

enter image description here

答えて

2

上のソースは、最後に、理想的なオープンソース溶液(IOSの5.0とiOS 6の両方をサポートする)を求めます。

https://github.com/AliSoftware/OHAttributedLabel

+0

iOS6ではUILabelとNSAttributedStringもこれを行います。 – Fogmeister

+0

OHAttributedLabelはiOS 5をサポートしています。 –

3

NSAttributedStringは、あなたがこれを行うことができます。 Erica SadunのiOS 5開発者用料理書にアクセスできる場合は、NSMutableAttributedStringのラッパーを作成するレシピがあります。これにより、テキストを簡単に追加したり、属性を変更したりすることが簡単になります。リッチフォーマットタッチ処理の両方が可能であるOHAttributedLabel:

Hereは、エリカのgithuib

+0

編集:これはタッチ操作、表示のみを行いません。あなたもそれをしたい場合は、おそらくUIWebview別のリンクの種類とCSSのスタイリングのためのそれぞれが良いかもしれません? – wattson12

+0

ありがとう@ wattson12。実際に私のウェブビューで** href **のものを多く使用しました。私は彼らがタッチイベントの一つの種類、**タッチアップ内部**を検出することができることに気づいた。しかし、Instagramができることは、**長いプレス**と**タッチダウン**です。 –

+0

私はhrefについて知りませんでした。私はこれについてはあまりよく分かりませんが、webviewの中の長いプレスを検出するためにjavascriptを使用できますか? [this](http://stackoverflow.com/questions/6038613/get-the-duration-of-a-touch-in-javascript)のように? – wattson12

関連する問題