我有UITableView,我从JSON查询中填写。
我用私信填写它并且有效。
JSON查询具有“站点”属性,我可以在每个站点获得20个PM。所以在开始时我得到了Site = 0并得到了20PMS,这些都是加载的。
现在我想拥有电子邮件应用程序中的功能(我相信我在那里看到了它):当你向下滚动并到达终点时(在我的应用程序到达下午20点),应用程序应该加载下一个20等等。
任何想法如何实现?
答案 0 :(得分:1)
保存最后一行的索引路径并实现
[UITableView reloadRowsAtIndexPaths:withRowAnimation:]
或者你可以使用scrollToRowAtIndexPath:atScrollPosition:animated:
的scrollPosition
A constant that identifies a relative position in the receiving table view
(top, middle, bottom) for row when scrolling concludes.
See “Table View Scroll Position” a descriptions of valid constants in docs
一旦你得到最后一个滚动位置,只需重新加载你的表视图[tableView reloadData]
但是有问题我想一旦你重新加载数据我认为重新加载后(我不确定)tableView它会再次带你到第一行然后你总是可以保存那个tableView的lastIndexpath在reloadData之后只有scrollToRowAtIndexPath:atScrollPosition:animated:或者你可以使用scrollToNearestSelectedRowAtScrollPosition:animated:
答案 1 :(得分:0)
我认为您可以使用自定义逻辑实现电子邮件应用等功能。你要做的是保留tableview的最后一行以加载更多数据。在最后一行应该有“加载更多......”之类的消息。每当用户触摸该行时,您应该加载更多数据并更新tableview。
答案 2 :(得分:0)
Stephen James及其在Key Options Development的同事遇到了类似的问题:http://blog.keyoptions.co/tableview-with-automatic-load-more
他们已经构建了一个示例应用程序(ContinousTableview),应该对您有所帮助。源代码可在GitHub上获得:https://github.com/stephenjames/ContinuousTableview