UITableView scrollToRow no longer works on iOS 11 right after adding a new row

前端 未结 5 2055
没有蜡笔的小新
没有蜡笔的小新 2021-02-20 12:22

I\'ve noticed a weird UITableView behaviour which only seems to occur on iOS 11 devices.

Right after inserting a new row (changing data source and then calling reloadDat

5条回答
  •  庸人自扰
    2021-02-20 13:25

    Not sure if the situation I encountered applies to this question, but I also had a situation where UITableView.scrollTo... started misbehaving from iOS 11.

    In my case, I was calling UITableView.reload... and UITableView.scrollTo... consecutively. And what it turned out is that the order matters.

    This works :

    tableView.reloadData()
    tableView.scrollToRow(at: indexPath, at: .top, animated: true)
    

    This doesn't :

    tableView.scrollToRow(at: indexPath, at: .top, animated: true)
    tableView.reloadData()
    

    Hopefully this helps.

提交回复
热议问题