是否有可能在UITableView重新加载完成后获得回调?

Wil*_*sch 9 iphone animation scroll uitableview ios

我正在我的表视图中重新加载一些单元格.重新加载完成后,我想滚动以便它们可见.我知道scrollToRowAtIndexPath:atScrollPosition:方法.但是我需要在重新加载完成后调用它,因为重载将改变行高.

以下是一些相关问题,但它们并没有完全回答我的问题.
UITableView,重新加载时滚动到底部?
如何在最后一个单元格上启动UITableView

编辑 - 我的重新加载不插入或删除任何行.相反,我正在重新加载一个或多个单元格以反映更新的信息.

And*_*son 0

您可以通过以下一些技巧来做到这一点:

1)当您调用 reloadData 时,您的 cellForRowAtIndexPath: 委托函数将为每个可见单元格调用一次。您可以对这些进行计数,然后在调用函数足够多次后触发操作。

2)我打赌其他一些 UITableViewDelegate 函数也会以确定性的方式被调用。也许您可以在其中之一中调用刷新函数,也许会有一点延迟。

3)您还可以在[tableView reloadData]之后使用performSelector:withObject:afterDelay:并使用一些硬编码的延迟。