iPhone ThreeT TTTableMoreButton载入更多行

时间:2010-07-12 19:56:28

标签: iphone three20 tableview

我有一个名为AppAdvice的应用程序似乎正在使用Three20。我注意到他们在大多数tableview中都有一个机制,当你向下滚动到列表底部并显示最后一行时,它会自动加载更多结果。

在最后一行中还有一个指示符,告诉用户更多项目正在加载,然后在加载其他项目时它会消失。一旦显示最后一行,应用程序就会请求更多结果。

有关他们如何实施这一点的任何线索?我无法弄清楚的是如何将项目附加到表格视图并重新定位指标行。

我知道three20有一个tttablemorebutton,但我无法弄清楚如何使用它。

http://ws.2wsx.ws/load_more_items.jpg

感谢, 豪伊

4 个答案:

答案 0 :(得分:2)

所有TTTableMoreButton都在你的模型上调用以下代码(代码在TTTableViewDelegate中)

- (void)load:(TTURLRequestCachePolicy)cachePolicy more:(BOOL)more 

如果more为YES,则设置_isLoadingMore标志。测试一下:

- (void)requestDidFinishLoad:(TTURLRequest*)request 

然后将额外的结果追加到_items数组而不是将它们插入顶部。

当然,要实现这一切,您需要实现TTModel(覆盖数据源中的模型方法)。对于面向数据的应用程序,最好看的是TTURLRequestModel,我确信在TTTwitter中有这样的例子

答案 1 :(得分:1)

我写了如何准确地做到这一点here

  

使用带有TTTableMoreButton作为最后一项的列表数据源进行设置。我们只是在数据源中添加一个钩子,以便何时显示更多的单元格,然后以编程方式发送更多请求以加载更多项目。你可以调整它,以便它在列表的早期发送更多的请求,但我把它留给你。

答案 2 :(得分:0)

TTTwitter似乎是错误的,当我点击更多Button时,下面的方法运行两次,第一次更多是真的,第二次更多是false,所以我们可以看到表无法正确加载数据。

- (void)load:(TTURLRequestCachePolicy)cachePolicy more:(BOOL)more 

答案 3 :(得分:0)

我看到了问题,这激励我为它写一篇博文。 http://blog.grio.com/2012/03/thumbnail-view-of-large-number-of-photos-with-three20.html 希望它有所帮助。