UITableview重新整理時介面“亂跑”現象
專案中出現重新整理tableview介面時,會發生介面跳到別的地方,而不是停留在當前操作的動態部分,這是因為iOS 11.0系統的特性導致的。
Self-Sizing在iOS11下是預設開啟的,Headers, footers, and cells都預設開啟Self-Sizing,所有estimated 高度預設值從iOS11之前的 0 改變為UITableViewAutomaticDimension
estimatedRowHeight這個屬性是給tableView每行設定預估行高,如果目前專案中沒有使用estimateRowHeight屬性。
在iOS11的環境下就要注意了,因為開啟Self-Sizing之後,tableView是使用estimateRowHeight屬性的,這樣就會造成contentSize和contentOffset值的變化,在估算行高機制下,contentSize的值是一點點地變化更新的,所有cell顯示完後才是最終的contentSize值。因為不會快取正確的行高,tableView reloadData的時候,會重新計算contentSize,就有可能會引起contentOffset的變化,就出現上述奇怪的現象。
解決方法:
在appdelegate.m檔案中,加上這幾句程式碼:
//可以通過以下方式禁用
if (@available(iOS 11.0, *)) {
UITableView.appearance.estimatedRowHeight = 0;
UITableView.appearance.estimatedSectionFooterHeight = 0;
UITableView.appearance.estimatedSectionHeaderHeight = 0;
}
相關文章
- 適配iOS11 UITableview UICollectionView MJRefresh下拉重新整理錯亂iOSUIView
- UITableView實現下拉重新整理新增資料功能UIView
- oracle em 按鈕亂碼現象Oracle
- 為什麼網頁出現亂碼現象網頁
- ubuntu登入時出現“一閃之後回到登入介面”的現象Ubuntu
- UITableView複雜介面處理UIView
- mysql亂碼現象及對字符集的理解MySql
- 微商亂象橫生 代理捲款跑路事件頻現事件
- 春分時節不容“疫”,全球網路環境亂象橫生
- 小程式的亂象迷局
- Jmeter json格式 unicode亂碼現象解決方法JMeterJSONUnicode
- UITableView:下拉重新整理和上拉載入更多UIView
- requests介面響應出現亂碼
- 從影視劇到遊戲,短視訊侵權亂象何時休?遊戲
- 動態建立script引入js檔案導致亂碼現象JS
- 使用 SecureCRT連線 linux 主機,會有亂碼現象SecurecrtLinux
- 【行業觀察】國產資料庫亂象行業資料庫
- 七牛重新整理介面php實現參考PHP
- Android TV端RecyclerView焦點亂跑AndroidView
- 你遇到過嗎?介面返回錯誤的格式,導致前端各種亂象。怎麼辦?前端
- SSH整合開發時Scope為預設時現象與原理
- 網路直播亂象咋這麼“頑強”?
- 訊息推送平臺亂象和趨勢
- 橫掃鴻蒙彈窗亂象,SmartDialog出世鴻蒙
- 網路二手車平臺亂象:交易頻現事故車 退款難
- Testng results報告出現中文亂碼和更新maven出現報錯現象實戰解決Maven
- 使用tomcat時,點選startup.bat時,dos命令列出現閃退現象。TomcatBAT命令列
- linux啟動時出現亂碼Linux
- 教你解決玩遊戲時顯示卡卡屏現象(轉)遊戲
- UITableview巢狀UITableView案例實踐(仿淘寶商品詳情頁實現)UIView巢狀
- 委託實現動態時間重新整理
- 通過圖形化介面安裝時亂碼的問題
- 在solaris 10 中安裝vmware tool 進入CDE介面時出現亂碼的解決方法
- UITableViewUIView
- iOS UITableView 拖動排序的實現iOSUIView排序
- Oracle web介面亂碼分析OracleWeb
- WriteFile 奇怪的現象
- 智慧醫療實現資訊多跑人少跑