1

在我的 iPad 应用程序中,我有一个滚动视图,其中列出了 20 个视频专辑的图像。服务器将发送 20 张图像的列表。
现在,当用户到达滚动视图的末尾时,我必须发送请求以获取接下来的 10 个视频详细信息。
获取数据后,我想将它们添加到最后的滚动视图中。但我想删除一开始的10个视频。因此,一次滚动视图将始终只显示 20 个视频细节。
当用户再次滚动到末尾时,我将向服务器发送请求,获取下一个 10 个视频详细信息并将它们添加到滚动视图中,从滚动视图中删除 10 个开始视频详细信息......当用户滚动到开始我将获取 10 个以前的视频并重复相同的内容。
在这里,我想确保滚动必须平滑并且不想在滚动视图中有闪烁。有人可以建议使用更好的滚动视图编码来满足我的要求吗?

4

3 回答 3

3

如果您的代码包含scroll.pagingEnabled = YES;Then 请删除这部分代码。它肯定会奏效。

于 2013-06-06T10:23:00.890 回答
0

如果您以网格视图的形式呈现,我建议您看一下AQGridView。该网格视图支持单元格排队和出队,这正是您所描述的。

您还可以使用委托方法 scrollViewDidScroll: 来确定您是否在滚动视图的底部并触发下一组专辑的下载。

于 2012-06-06T12:37:57.463 回答
0

这里真正的问题是设置电池回收。这并不难,我有几个例子,你可以看看,一个在这里。当然,您需要对该代码进行一些更改,它是在“页面”中设置的——任何时候屏幕上只有一个视图,我认为这不是您想要的。

除此之外...

您在这里的关键部分是以允许删除旧项目和添加新项目而不跳过项目的方式设计您的数据源。

例如,我可能采用的方法是在滚动视图中呈现“最后一个”项目,就像您希望滚动视图中的第一个项目一样。当用户到达最后一项时,将您的内容偏移设置为没有动画的滚动视图的开头(实际上还没有尝试过,所以可能会有您不想要的颠簸,测试并查看)。这将产生无限滚动的外观。您的数据源将在添加新项目时简单地覆盖旧索引,而不是添加到例如数组的末尾。

于 2012-06-06T12:44:03.817 回答