如何在重新加载数据后转到UITableView中的第一个单元格

时间:2014-06-29 17:35:07

标签: ios objective-c uitableview

目前,当我重新加载表格中的数据时,它会保持在相同的滚动位置:

[self.tableView reloadData];

如何让滚动位置/高度返回顶部/第一个单元格?

3 个答案:

答案 0 :(得分:4)

您可以使用以下方法滚动到表视图中的任何索引路径:

[self.tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES];

因此,对于第一个单元格,您的indexPath将是:

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];

您可以更改scrollPositionanimated参数,以获得所需的效果/结果。

答案 1 :(得分:0)

Swift 4版本

let indexPath = IndexPath(row: 0, section: 0)
tableView.scrollToRow(at: indexPath, at: .top, animated: false)

答案 2 :(得分:0)

发生此崩溃是因为我试图滚动到空tableView的第0行第0部分。在执行scrollToRow()之前,请确保tableData.count> 0。