緩存cell高度開源代碼閱讀:UITableView-FDTemplateLayoutCell

有木有遇見過cell的高度千差萬別毫無規律,你怎麼計算cell的高度呢?好吧,我相信你能夠計算出來,或者你可能用autolayout的特性得出fit後的size,但是,你有木有遇見過那個tableview長長的長長的,長到你覺得tableview沒有絲般的順滑呢?

在優化tableview的性能時,如果你能緩存下cell的高度,你離成功近了那麼一點。生氣

好了,我稍微介紹下這個框架。地址:https://github.com/forkingdog/UITableView-FDTemplateLayoutCell點擊打開鏈接

這個框架是根據indexPath作爲key值進行緩存。

然後第一次計算cell的高度的時候,調用了

    CGSize fittingSize = [cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];

利用autolayout的計算,獲取size。

但是,你設想一下有木有啥不完美的地方。

當你的tableview偶爾會刪除cell 的時候,那麼高度豈不是亂了嗎?

對的,所以嘍,你可以在你的數據業務代碼的地方緩存cell高度即可。所以這個框架是非常值得借鑑的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章