2012-01-13 92 views
5

我想實現豐富的格式文本視圖,如在Instagram中展示的。以下是截圖。Rich Text View Like Instagram評論

具體來說,我的目標是:

  1. 詞在同一文本視圖的不同位置可以有不同的字體大小,字體顏色和字體樣式(粗體,斜體等)。
  2. 觸摸事件(長按,觸摸等)可以在代理回調中檢測到。信息(哪個詞被觸摸,無論是長按還是下按等)都可以在這種回調方法中收集。

像Three20這樣的大框架是不可能的。小型的獨立圖書館是非常受歡迎的。低水平的可可觸摸API也可能是好的,如果它不會花我幾天的時間來包裝它們。

任何建議,非常感謝。

enter image description here

回答

2

終於找到理想的開源溶液(同時支持的iOS 5.0和iOS 6):在OHAttributedLabel,其能夠既豐富的格式和觸摸操作。

https://github.com/AliSoftware/OHAttributedLabel

+0

在iOS6中,UILabel和NSAttributedString也這樣做。 – Fogmeister 2012-10-03 09:35:03

+0

OHAttributedLabel支持iOS 5;) – 2012-10-03 09:59:42

3

NSAttributedString可以讓你做到這一點。如果您有權訪問Erica Sadun的iOS 5開發者烹飪書,那麼可以使用NSMutableAttributedString封裝的配方,這可以使您逐個添加文本,隨時更改屬性。

Here是Erica的githuib源

+0

編輯:這不做觸摸處理,只顯示。如果你也想這樣,也許UIWebview具有不同的鏈接類型和CSS樣式可能會更好? – wattson12 2012-01-13 12:29:29

+0

謝謝@ wattson12。實際上,我在網絡視圖中使用了** href **。我注意到他們只能檢測到一種觸摸事件,**觸摸式內部**。但Instagram能夠做的是**長按**和**觸摸**。 – 2012-01-13 12:36:50

+0

我不知道有關href的。我不太確定這一點,但你可以使用javascript來檢測webview中的長按嗎?像[這](http://stackoverflow.com/questions/6038613/get-the-duration-of-a-touch-in-javascript)? – wattson12 2012-01-13 15:48:17