在 tableView reloadData 后滑动到指定位置,比如下拉加载更多聊天记录,并保持列表的当前位置。

1
tableView.scrollToRow(at: indexPath, at: .top, animated: false)

但是列表有跳动,滑动的位置并不对。解决方法也很简单,在 reloadData 后调用下 tableView.layoutIfNeeded()

1
2
3
tableView.reloadData()
tableView.layoutIfNeeded()
tableView.scrollToRow(at: indexPath, at: .top, animated: false)