滚动时加载UITableView动态内容

时间:2013-09-12 16:40:47

标签: ios cocoa-touch uitableview

我正在尝试实现无限的UITableView。我以块的形式从服务器加载一些信息,并且当用户滚动表时我想动态地将这些信息添加到tableview。

我面临的问题:我有一个包含40个元素的初始tableview然后在scrollViewDidScroll中我检查最后一个可见行的indexPath == [myData count] - 20(所以当用户已经滚动了列表的一半时我加载了下一个内容)我从服务器加载了下40个内容元素,并且仅在{ {1}}我实际上重新加载了tableview。因此,当你看到我做一些急切的缓存,以使tableview重新加载更快。一切工作完美,但当我开始滚动我的表真的快速数据停止加载。似乎这个检查:last visible row's indexPath == [myData count] -1实际上没有机会实现因为快速滚动。我看不出任何其他明显的原因。那么有人为这个奇怪的问题找到答案吗?

P.S。或者我应该尝试last visible row's indexPath == [myData count] - 20而不是重新加载整个表格?

1 个答案:

答案 0 :(得分:1)

也许有了这个代表,你有机会事先做点什么。还可以仅重新加载可见行,这比重新加载数据更好。

-(void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView {
    NSArray *paths = [self.tableView indexPathsForVisibleRows];
    int tmprow = [[paths objectAtIndex:0] row];
}