iOS開發之商品評價列表的構建
首先看一下效果
效果圖.gif
Demo中使用了幾個三方
image.png
image.png
注: 檢視大圖片的這個工具有點坑,不知道是我不會使用還是原本就有bug,坑在下面的這個地方,如果不修改的話,會導致下拉重新整理的操作被遮蔽,因為offset距離頂部為0了,剛好被遮蔽了。
image.png
言歸正傳說Demo
cell主要由三部分組成:
第一部分是使用者基本資訊和文字評論區域,第二部分是圖片顯示部分,獨立出去的一個XBWCSMyOrderEvaluationImageView,這樣方便操控view的顯示,如果需要33矩陣佈局或者其他4
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
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。