如何在UITableViewController中实现“Load 25 More”

时间:2010-05-10 07:44:24

标签: iphone uitableview

我正在开发iphone应用程序。应用程序将大量记录从Web服务加载到表视图控制器中。我想最初加载25条记录,并在表格视图末尾单击“加载25多个”之类的内容中保留25个记录。

任何帮助都会非常感激。

由于

4 个答案:

答案 0 :(得分:7)

只需在表格页脚中添加一个连接到事件的按钮即可。单击该按钮时,将接下来的25个结果附加到您现有的项目数组中。

之后,只需执行[self.tableView setNeedsDisplay]。我用它来让我的表知道我在表中有额外的数据。通过使用它,无需滚动到表格中的右侧,因为它保持其原始位置。

另外,为什么要调用viewDidAppear方法,这对我来说似乎不对,因为(当然)视图已经出现,并且你在那里完成的所有重复和分配都已重新完成。只需在查看视图时放置您需要完成的内容,并在单独的方法中附加数据,并从按钮事件和viewDidAppear事件中调用该方法。

答案 1 :(得分:4)

我写了一个示例项目,可以从GitHub https://github.com/Abizern/PartialTable

下载

答案 2 :(得分:0)

我在我的应用程序中做的几乎相同,从webservice获得50条第一条记录。作为表格页脚,我有一个带有下一个/上一个按钮的视图,当按下该按钮时,会启动下一个/前一个50个结果的提取请求。处理完提取请求后,我调用viewWillAppear:animated:对于我的视图控制器,在内部调用[self.tableView reloadData],因此这些结果显示在同一个表视图中。因为我每次只保留数据以显示结果,但这取决于您的需求。

希望这有帮助

答案 3 :(得分:0)

我写了一些与你描述完全相同的东西,把它放在github上:https://github.com/nmondollot/NMPaginator

它封装了分页,并且几乎可以使用page和per_page参数处理任何web服务。它还具有UITableView,可在您向下滚动时自动获取下一个结果。 希望它会有用。