天天看點

tableview插入重新整理_ios - 如何重新整理tableViewCell上添加的一個View(不是重新整理整個cell)...

問 題

問題如題目所示。

場景:目前tableviewcell是由三個view拼接而成的,加在cell.contentView上。重新整理的時候我隻需要重新整理其中一個cell的一個view裡的内容。

但是執行重新整理cell方法,是三個view是一起重新整理的,導緻資料不變的view會閃一下。

請問各位這種場景如何優化?

解決方案

首先很感謝大家的回答,今天看到還有人回複這個問題,我坐下補充

對這個問題,有一點需要更正:

1、出現重新整理閃動問題的是CollectionViewCell,我當時以為tableView也會有同樣的問題,是以問題裡寫成了tableViewCell。實時證明,我當時的場景tableView不會出現閃動問題。

解決方案:

1、針對原問題CollectionViewCell閃動,是由于CollectionView隐式動畫引起的,可以這樣寫:

//關閉隐式動畫,防止cell閃動

[UIView performWithoutAnimation:^{

[self reloadItemsAtIndexPaths:@[indexP]];

}];

更多關掉隐式動畫方案:http://adad184.com/2015/11/10...

2、針對tableViewCell的重新整理,可以在自定義cell寫一個方法實作,但是滑動到可見範圍之外再回來,狀态會回複(因為走了tableView:tableViewcellForRowAtIndexPath)。如果要保持cell的狀态不改變隻能通過reload方式實作,就是更新資料源。

tableview插入重新整理_ios - 如何重新整理tableViewCell上添加的一個View(不是重新整理整個cell)...

掃一掃關注IT屋

微信公衆号搜尋 “ IT屋 ” ,選擇關注與百萬開發者在一起