重新加载uitableview后滚动表视图

时间:2009-11-06 14:38:41

标签: uitableview

在我的应用程序中,我想将单元格附加到当前的tableview,并在单元格全部附加后滚动到第一个添加的单元格。我通过调用附加到堆栈并调用[tableview reloadData]来完成附加的代码。但是,我想知道是否存在由uitableview发送的委托或通知,我可以用它来指示何时重新加载表,以便我可以滚动到选择。我原本以为viewDidAppear会被调用,但事实并非如此。有什么建议吗?

1 个答案:

答案 0 :(得分:4)

您可以删除reloadData并使用insertRowsAtIndexPaths:withRowAnimation:来添加额外的行,然后可以使用scrollToRowAtIndexPath:atScrollPosition:animated:滚动到某一行。在我看来,以这种方式添加行更加“清晰”,而不是仅仅调用reloadData,它可能也更快。

当使用insertRowsAtIndexPaths:withRowAnimation:并且您添加的行不可见时,它们将不会被“加载”,一旦使用滚动方法滚动到视图中,它们就会被“加载”。

关于reloadData方法完成后的通知,我很确定没有可用的通知。 UITableView的唯一通知是UITableViewSelectionDidChangeNotification