在Objective C UITableVIew如何在调用reload后保留滚动位置
在选择单元格时,我调用了UITableView的重载功能,但重新加载后我希望滚动保持其位置(即,单元格被轻敲的位置)
答案 0 :(得分:1)
您可以使用reloadRowsAtIndexPaths:withRowAnimation
:而不是reloadData
。
答案 1 :(得分:1)
你可以这样做。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
}
此外,如果您想要滚动到某个特定位置,可以使用此功能。
[tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionNone animated:YES];
答案 2 :(得分:0)
两行,您将获得所需的结果:
NSArray *indexPaths = tableView.indexPathsForVisibleRows;
[tableView reloadRowsAtIndexPaths:indexPathswithRowAnimation:UITableViewRowAnimationNone];'