Not sure if the situation I came across relates to this issue, but I also had a situation where UITableView.scrollTo... started to behave badly with iOS 11.
In my case, I called UITableView.reload... and UITableView.scrollTo... sequentially. And it turned out that order matters.
It works:
tableView.reloadData() tableView.scrollToRow(at: indexPath, at: .top, animated: true)
It does not mean:
tableView.scrollToRow(at: indexPath, at: .top, animated: true) tableView.reloadData()
Hope this helps.
barley
source share