天天看點

iOS 使用NSTextAttachment在富文本中插入圖檔在實際項目中遇到的問題

1、圖檔是從網絡中擷取的,如何縮短請求圖檔的時間?

可以從一開始請求網絡資料結束後,擷取到了圖檔的URL之後。開始用SDWebImageView下載下傳圖檔,因為SDWebImageView有一個特性,就是相同URL下的圖檔下載下傳後會進行緩存,以後要用的話,已經下載下傳好的會去緩存中查找,是以我們在最開始的時候去下載下傳,可以縮短請求圖檔的時間。

2、擷取圖檔之後該怎麼同步到NSTextAttachment上?

在給attachment指派圖檔的時候,可以單獨建立一個imageview,讓imageview用SDWebImage去下載下傳圖檔,并且設定imageview的占位圖。讓attachment的image是imageview的image。這樣如果已經下載下傳好了就直接用下載下傳後的圖檔,沒下載下傳過就用占位圖。并且有第一個步驟中的優化,是以下載下傳時間會縮短很多的。

3、灰色占位圖檔該怎麼設定才不會有鋸齒?

可以自己用代碼生成一個占位圖,或者用圖檔,但是一定要記住,占位圖的寬高一定要比attachmen的寬高要大才不會有鋸齒。

4、NSTextAttachment的bounds該怎麼設定?

bounds的設定可以讓多個attachment按照需要的位置進行排列。

5、圖檔和文字之間要有一定的間距怎麼弄?

可以在字元串的頭部加入一些空格,然後生成富文本,最後在富文本頭部加入attachment,圖檔和文本之間就會有空格了。