目前,我使用核心数据来填充它。问题是,在执行下拉以加载更多旧消息后,它会正确插入所有内容。但是将TableView滚动到顶部。我一直试图避免这种情况。但不知道如何。
答案 0 :(得分:1)
重新加载UITableView时,不仅会重新加载整个表的内容。 对于您正在寻求的解决方案,您可以: 1)将可见的第一个单元格索引存储在变量中。
NSArray *visible = [tableView indexPathsForVisibleRows];
NSIndexPath *indexpath = (NSIndexPath*)[visible objectAtIndex:0];
2)重新加载UITableView
[tableview reloadData];
3)将表格视图滚动到已保存的索引。
[tableView scrollToRowAtIndexPath:indexpath
atScrollPosition:UITableViewScrollPositionTop animated:NO];
这样可行,但由于重新加载导致数据发生变化,因此可能会因一两个单元而异。 希望这有助于你:)
答案 1 :(得分:0)
也许这会有所帮助
[tableView scrollToRowAtIndexPath:indexPathOfVisibleRow atScrollPosition:UITableViewScrollPositionNone animated:YES];