iPhone:如何添加一个';下一个25';比如在应用商店应用程序的屏幕底部?

iPhone:如何添加一个';下一个25';比如在应用商店应用程序的屏幕底部?,iphone,xcode,uitableview,iphone-sdk-3.0,Iphone,Xcode,Uitableview,Iphone Sdk 3.0,我有一个UITableView,我想有一个“下一个25”功能,就像在app store应用程序中一样 然而,我不知道他们使用什么控件以及如何开发它 有人能解释一下,给我尽可能多的信息吗?他们所做的是创建另一个带有按钮的单元格。当点击该按钮时,将触发一些方法,该方法将退出并获取更多数据,然后将其添加到tableview的数据源中,并重新加载表 这个“load more”单元格从不依赖于数据源(它在添加时没有向DS请求任何东西,请记住),而是添加了tableView:cellforrowatinex

我有一个UITableView,我想有一个“下一个25”功能,就像在app store应用程序中一样

然而,我不知道他们使用什么控件以及如何开发它


有人能解释一下,给我尽可能多的信息吗?

他们所做的是创建另一个带有按钮的单元格。当点击该按钮时,将触发一些方法,该方法将退出并获取更多数据,然后将其添加到tableview的数据源中,并重新加载表


这个“load more”单元格从不依赖于数据源(它在添加时没有向DS请求任何东西,请记住),而是添加了
tableView:cellforrowatinexpath:
中的特殊情况处理代码,以检查我们是否在tableView的底部,然后返回自定义单元格。因此,当我们在向数据源添加新项后重新加载tableview时,tableview会变大,按钮会离开该位置,并在到达新底部时添加到底部。:)

他们所做的是创建另一个单元格,其中有一个按钮。当点击该按钮时,将触发一些方法,该方法将退出并获取更多数据,然后将其添加到tableview的数据源中,并重新加载表


这个“load more”单元格从不依赖于数据源(它在添加时没有向DS请求任何东西,请记住),而是添加了
tableView:cellforrowatinexpath:
中的特殊情况处理代码,以检查我们是否在tableView的底部,然后返回自定义单元格。因此,当我们在向数据源添加新项后重新加载tableview时,tableview会变大,按钮会离开该位置,并在到达新底部时添加到底部。:)

以上答案的前半部分是正确的。下半部分(使用重载数据)并不是最好的方法

获得新数据后,应在表视图上调用
insertRowsAtIndexPaths:withRowAnimation:
。这会告诉表视图您已经添加了一组新行,并让它为新行的添加设置动画。例如,您可以传递UITableViewRowAnimationFade或UITableViewRowAnimationTop。它也更高效,因为表视图不必重新加载和重画表中已有的行


另外,请看一些2010年WWDC的表视图视频(您可以在中找到它们,然后滚动到底部)。他们有很多很棒的东西。

以上答案的前半部分是正确的。下半部分(使用重载数据)并不是最好的方法

获得新数据后,应在表视图上调用
insertRowsAtIndexPaths:withRowAnimation:
。这会告诉表视图您已经添加了一组新行,并让它为新行的添加设置动画。例如,您可以传递UITableViewRowAnimationFade或UITableViewRowAnimationTop。它也更高效,因为表视图不必重新加载和重画表中已有的行


另外,请看一些2010年WWDC的表视图视频(您可以在中找到它们,然后滚动到底部)。他们有很多很棒的东西。

好吧,太好了,所以一旦单击“自定义单元格”按钮,我如何用额外的行刷新/重画表格?我告诉过你了。在按钮处理程序中,启动到服务器的连接,以拉入要添加到数据源的新数据。一旦您获得数据并对其进行处理(这涉及到将其添加到表视图数据源),您可以调用
reloadData
,它将重新加载表视图,神奇地,您的新项目将显示出来。好的,太好了,那么一旦单击自定义单元格按钮,我如何用额外的行刷新/重画表?我告诉过您了。在按钮处理程序中,启动到服务器的连接,以拉入要添加到数据源的新数据。一旦您获得数据并对其进行处理(这涉及到将其添加到表视图数据源),您可以调用
reloadData
,它将重新加载表视图,神奇的是,您的新项目将显示出来。您知道,有时我会将这些内容作为练习留给读者。这有助于他们学会如何独立做事,这实际上比不断地用勺子给他们答案更能帮助他们记住事情。解释一个算法,暗示他们需要做些什么来实现它,让他们实现它,并找出他们自己的技术来实现它。jer:把用户指向错误的方向是没有帮助的
reloadData
中断编辑/重新排序/选择状态,中断表视图上的
UIView
动画,通常会造成糟糕的用户体验。如果你阅读他的问题,他不是在谈论编辑/重新排序。他实际上在谈论分页,这强烈表明他不打算做任何事情。这并没有把他引向错误的方向,虽然这不是每种情况下的正确解决方案,但像这个答案所暗示的那样制作一个插入动画几乎肯定会看起来像驴子(我在我的一个应用程序中测试了它,它做了同样的事情)。此外,告诉苹果这是一个糟糕的用户体验。App Store应用程序与我的答案完全一样,为什么?因为这是分页情况下更好的用户体验。jer:我不是建议插入单元格应该设置动画,只是在表视图可见时不应该调用
reloadData
UITableViewRowAnimationNone
选项的存在是有原因的——它正是应用商店应用程序所使用的。我指的糟糕的用户体验是所有
reloadData
中断的小用户交互细节/动画,而不是缺少动画(我同意,在这种情况下,动画“看起来像驴子”)好吧,那么我如何使用insertRowsAtIndexPaths加载数据而不使用usin