tableView閃爍飄逸

iOS UITableView reloadData 視圖漂移或者閃動解決方法

原創(chuàng)

2017年11月02日 16:48:23

1.視圖漂移或者閃動原因:

因為iOS 11后系統(tǒng)默認開啟Self-Sizing,首先要知道Self-Sizing是個什么東東。官方文檔是這樣解釋的:大概就是說我們不用再自己去計算cell的高度了,只要設(shè)置好這兩個屬性,約束好布局,系統(tǒng)會自動計算好cell的高度。

IOS11以后,Self-Sizing默認開啟,包括Headers, footers。如果項目中沒使用estimatedRowHeight屬性,在IOS11下會有奇奇怪怪的現(xiàn)象,因為IOS11之前,estimatedRowHeight默認為0,Self-Sizing自動打開后,contentSize和contentOffset都可能發(fā)生改變。

所以可以通過以下方式禁用:

在tableView初始化的地方加入下面代碼

    self.tableView.estimatedRowHeight = 0;
    self.tableView.estimatedSectionHeaderHeight = 0;
    self.tableView.estimatedSectionFooterHeight = 0;

現(xiàn)在在reloadData視圖漂移或者閃動就沒有了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文為作者原創(chuàng),未經(jīng)作者允許不得轉(zhuǎn)載。該文同時發(fā)表在騰訊bugly公眾號:https://mp.weixin.qq...
    sonialiu閱讀 101,883評論 74 283
  • iOS 11 為整個生態(tài)系統(tǒng)的 UI 元素帶來了一種更加大膽、動態(tài)的新風(fēng)格。 本文介紹iOS11中在UI方面做了哪...
    阿凡提說AI閱讀 639評論 0 1
  • 我們在上一篇《通過代碼自定義不等高cell》中學(xué)習(xí)了tableView的相關(guān)知識,本文將在上文的基礎(chǔ)上,利用sto...
    啊世ka閱讀 1,640評論 2 7
  • 概述在iOS開發(fā)中UITableView可以說是使用最廣泛的控件,我們平時使用的軟件中到處都可以看到它的影子,類似...
    liudhkk閱讀 9,289評論 3 38
  • 文/子曰灑家 打完球出了一身淋漓的汗,告別了球友就踏上了回家的公交車,下午六點多正好是人們歸家的時候,這時段人比較...
    子曰灑家閱讀 525評論 3 13

友情鏈接更多精彩內(nèi)容