ios - 使UIScrollView顺利滚动

时间:2012-06-06 12:34:27

标签: ios uiscrollview scroll

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

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

如果您以网格视图的形式呈现,我建议您查看AQGridView。该网格视图支持单元格排队和出列,这完全符合您的描述。

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

答案 2 :(得分:0)

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

除此之外......

这里的关键部分是设计数据源,允许删除旧项目,添加新项目,而不会跳过项目。

例如,我可能采用的方法是在滚动视图中渲染“last”项,与您想要滚动视图中的第一项相同。当用户到达最后一个项目时,将内容偏移设置为滚动视图的开头而不进行动画(实际上没有尝试过,因此可能存在您不想要的震动,测试并查看)。这将给出无尽滚动的外观。您的数据源只会在添加新项时覆盖旧索引,而不是例如添加到数组的末尾。