我正在尝试创建一个 UITableView,当我滚动到列表底部时,会自动加载更多行。这通常类似于 iPhone 上的亚马逊应用程序上的搜索功能。它一次加载大约 20 行,当我滚动到前 20 行的末尾时,接下来的 20 行会自动加载。一旦加载,它就会保留在内存中。我没有考虑最后一行显示“加载更多项目”的选项,就像在应用程序商店应用程序中一样。
这是我想要实现的目标:我当前的应用程序线程大约需要 8-15 秒来加载 UITableView(列表中的 0-50 个项目)。即使只有 1 行,也需要大约 8 秒。我想让这个过程显得更快。我的屏幕在任何给定时间最多可以显示 7 行,所以我在想是否可以一次加载 8-10 行,并且能够在 3-4 秒内实现这一目标,然后是另一个当用户一直向下滚动时,项目可以加载。因此,第一次加载表格的速度似乎是现在的两倍。
我一直在研究“Pull to Refresh”(如 Tweetie2 应用程序),也在 github 上查看 Three20 代码,但不太确定如何像 Amazon 应用程序一样实现此功能。
主要关注点是如何使其加载速度更快并且无需额外的用户输入。
任何帮助将不胜感激。
您是否考虑使用 UITableViewDelegate 方法:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
如果您了解已加载的最后一个单元格的索引,并且接近滚动到该单元格,则启动异步请求以加载更多行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)