重新加载uitableview后滚动表格视图
Posted
技术标签:
【中文标题】重新加载uitableview后滚动表格视图【英文标题】:Scrolling the table view after reloading uitableview 【发布时间】:2009-11-06 14:38:40 【问题描述】:在我的应用程序中,我想将单元格附加到当前表格视图,并在所有单元格都被附加后滚动到第一个添加的单元格。我通过调用附加到堆栈并调用 [tableview reloadData] 来完成附加代码。但是,我想知道是否有由 uitableview 发送的委托或通知,我可以使用它来指示表格何时重新加载,以便我可以滚动到选择。我最初认为 viewDidAppear 会被调用,但事实并非如此。有什么建议吗?
【问题讨论】:
【参考方案1】:您可以删除reloadData
并使用insertRowsAtIndexPaths:withRowAnimation:
添加额外的行,然后scrollToRowAtIndexPath:atScrollPosition:animated:
可用于滚动到某一行。在我看来,以这种方式添加行更“干净”,而不是仅仅调用 reloadData,它可能也更快。
当使用insertRowsAtIndexPaths:withRowAnimation:
并且您添加的行不可见时,它们将不会被“加载”,一旦使用滚动方法将它们滚动到视图中,它们就会被“加载”。
关于 reloadData 方法完成后的通知,我很确定没有可用的通知。 UITableView 的唯一通知是UITableViewSelectionDidChangeNotification
。
【讨论】:
以上是关于重新加载uitableview后滚动表格视图的主要内容,如果未能解决你的问题,请参考以下文章
重新加载单元格高度变化的单元格时,UITableView 滚动到顶部