今天给环信聊天界面添加引导功能时,发现原本在iOS11以下能够正常运行的scrollToRowAtIndexPath:方法会偶尔失效,频率还挺高。使用如下:
6F354F84-5B69-4B98-B7A5-9618FA809BA9.png方法目的是滚到tableView的最后一行,在iOS11之前系统运行正常,但11系统上始终无法滚动到正确的位置。
最后查看了一下iOS11的新增改动点,发现iOS11关于UITableView新加了预估高度estimatedXXHeight
iOS11 中的estimatedXXHeight由默认的 0 变成了现在的默认.AutomaticDimension,导致高度计算出错,最后导致的现象就是上拉加载更多的时候 UI 错乱、TableView视图的高度异常等一系列问题。重新置 0 即可
_tableView.estimatedRowHeight = 0;
_tableView.estimatedSectionFooterHeight = 0;
_tableView.estimatedSectionHeaderHeight = 0;
如上之后问题解决。
网友评论