今天給環(huán)信聊天界面添加引導(dǎo)功能時,發(fā)現(xiàn)原本在iOS11以下能夠正常運(yùn)行的scrollToRowAtIndexPath:方法會偶爾失效,頻率還挺高。使用如下:

6F354F84-5B69-4B98-B7A5-9618FA809BA9.png
方法目的是滾到tableView的最后一行,在iOS11之前系統(tǒng)運(yùn)行正常,但11系統(tǒng)上始終無法滾動到正確的位置。
最后查看了一下iOS11的新增改動點(diǎn),發(fā)現(xiàn)iOS11關(guān)于UITableView新加了預(yù)估高度estimatedXXHeight
iOS11 中的estimatedXXHeight由默認(rèn)的 0 變成了現(xiàn)在的默認(rèn).AutomaticDimension,導(dǎo)致高度計(jì)算出錯,最后導(dǎo)致的現(xiàn)象就是上拉加載更多的時候 UI 錯亂、TableView視圖的高度異常等一系列問題。重新置 0 即可
_tableView.estimatedRowHeight = 0;
_tableView.estimatedSectionFooterHeight = 0;
_tableView.estimatedSectionHeaderHeight = 0;
如上之后問題解決。