我正在尝试创建一个UITableView,当我滚动到列表底部时,会自动加载更多的行。这通常类似于亚马逊iPhone应用程序上的搜索功能。它一次加载大约20行,当我滚动到前20行的末尾时,接下来的20行会自动加载。加载后,它将保留在内存中。我不会考虑最后一行显示“加载更多项目”的选项,就像在app store应用程序中那样。
这是我试图实现的目标:我当前的应用程序线程需要大约8-15秒来加载UITableView (列表中0-50个项目的任意位置)。即使只有一行,也需要大约8秒。我想让这个过程看起来更快。我的屏幕在任何给定的时间最多只能显示7行,所以我在想,如果我可以一次加载8-10行,并且能够在3-4秒内实现这一点,那么其他项目就可以在用户向下滚动时加载。因此,第一次加载表的速度将是现在的两倍。
我一直在研究像Tweetie2应用程序一样的"Pull to Refresh“,也在github上查看Three20代码,但我不太确定如何像亚马逊应用程序那样实现这一点。
主要的关注点是如何让它加载得更快,而不需要额外的用户输入。
任何帮助都将不胜感激。
发布于 2011-01-06 07:58:40
您是否考虑过使用UITableViewDelegate方法:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath如果您知道已加载的最后一个单元格的索引,并且即将滚动到该单元格,则可以启动异步请求以加载更多行。
https://stackoverflow.com/questions/4610299
复制相似问题