一般展示數(shù)據(jù)的頁面都有一個上拉加載更多的功能,當(dāng)請求下來的數(shù)據(jù)添加到數(shù)據(jù)源之后东帅,我們需要進(jìn)行刷新界面,這時(shí)如果使用reloadData會比較消耗性能靠闭,最簡單的方式是insertSections: withRowAnimation:,但是當(dāng)我們調(diào)用這些方法時(shí)可能會遇到一些奇怪的問題。
(本來錄制的視頻展示的bug愧膀,奈何無法上傳,只能用文字描述一下了檩淋,還請大家見諒)
reloadData遇到的問題:界面會跳動一下,這就讓我們很不爽蟀悦,嚴(yán)重影響了用戶體驗(yàn)。
insertSections遇到的問題: 界面也會跳動询张,假設(shè)我們設(shè)置了sectionFooterView或者設(shè)置了sectionHeaderView導(dǎo)致在cell上顯示了多余的sectionFooterView/sectionHeaderView。
究其原因是由于我們設(shè)置了tableView.estimatedRowHeight的原因?qū)е路菅酰?dāng)我們刷新的時(shí)候會預(yù)先使用預(yù)估的高度弯屈,但是我們的實(shí)際高度可能不是這個蜗帜,最終導(dǎo)致的這個問題资厉。
如果我們沒有用代碼設(shè)置tableView.estimatedRowHeight,那就是xib的問題
只需將automatic取消選中即可。