我正在尝试实现一个无限的 UITableView。我以 block 的形式从服务器加载一些信息,我想在用户滚动表格时将这些信息动态添加到表格 View 。
我面临的问题:我有一个包含 40 个元素的初始表格 View ,然后在 scrollViewDidScroll
我检查最后一个可见行的 indexPath == [myData count] - 20
(所以当用户已经滚动列表的一半时我加载下一个内容)我加载下一个来自服务器的 40 个内容元素,只有当 last visible row's indexPath == [myData count] -1
时,我才真正重新加载 tableview。因此,正如您所见,我进行了一些急切的缓存,以便更快地重新加载 tableview。一切正常,但是当我开始滚动我的表时,真正快速的数据停止加载。似乎这个检查:last visible row's indexPath == [myData count] - 20
由于快速滚动实际上没有机会实现。我看不出任何其他明显的原因。那么有人对这个奇怪的问题有一些答案吗?
附言或者我应该尝试 reloadRowsAtIndexPaths
而不是重新加载整个表?
最佳答案
也许有了这个代表,您就有机会提前做一些事情。也可以只重新加载可见行,这比重新加载数据要好。
-(void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView {
NSArray *paths = [self.tableView indexPathsForVisibleRows];
int tmprow = [[paths objectAtIndex:0] row];
}
关于ios - UITableView 滚动时动态加载内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18769848/