1. 程式人生 > >iOS開發之商品評價列表的構建

iOS開發之商品評價列表的構建

首先看一下效果

 

效果圖.gif

Demo中使用了幾個三方

 

image.png

 

image.png

注: 檢視大圖片的這個工具有點坑,不知道是我不會使用還是原本就有bug,坑在下面的這個地方,如果不修改的話,會導致下拉重新整理的操作被遮蔽,因為offset距離頂部為0了,剛好被遮蔽了。

 

image.png

言歸正傳說Demo

cell主要由三部分組成:
第一部分是使用者基本資訊和文字評論區域,第二部分是圖片顯示部分,獨立出去的一個XBWCSMyOrderEvaluationImageView,這樣方便操控view的顯示,如果需要33矩陣佈局或者其他4

2矩形佈局的,也方便佈局。唯一注意的是imageview的複用,防止圖片混亂,造成最終檢視大圖造成崩潰。第三部分是商家回覆區域,也是獨立出去的XBWCSMyOrderEvaluationReplyView。

image.png


佈局說完了,說高度的問題。
像這種的文字較多,不確定高度的cell,就需要用到快取高度的思想,一方面是為了佈局的正確性,另一方面是為了優化cell的流暢度。我們知道在tableview的滑動過程中,會不斷的呼叫

 

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;

這個方法,如果將cell的高度計算放在這裡,將會造成不可限量的消耗,可能資料量小的時候看不出來,但是量多了,就可怕了。
大多數的高度快取思想,無非就是拿到資料即拿到高度,資料是死的,高度也就是死的,只是看怎麼去處理這個高度。

 

image.png

在獲取到資料的時候,剝離出去一個方法,用於計算cell的高度。同時在建立資料model的時候,多新增一個cellHeight屬性,將計算好的高度再次賦值給cellHeight這個屬性。

 

image.png

 

這樣我們就將需要的高度快取起來了,在後面需要的時候,取出cellHeight就可以了。

 

image.png

計算文字高度,其實很簡單就是計算富文字size

 

image.png

額外補充下檢視大圖的方法

 

image.png

傳送門



作者:重駒
連結:https://www.jianshu.com/p/13b6f9c5ab9c
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。