我有一个水平滚动的UIScrollView,我在UIScrollView上显示了很多数据,当我创建uiscrollview时,我确切地知道我想要显示的内容的大小,所以我相应地创建了框架。
我从服务器获取数据,我必须在uiscrollview中填充。我想从服务器一次检索一页数据,我也只想在用户滚动到第一页末尾时检索第二页,这样我就避免从服务器中提取不必要的数据。
有关如何执行此操作的任何建议吗?
答案 0 :(得分:1)
你应该使用protocoled方法- (void)scrollViewDidScroll:(UIScrollView *)scrollView;
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView.contentOffset.y == _currentOffsetHeight)
{
// Do what you want
}
}
答案 1 :(得分:0)
请参阅:iOS Developer Library: PageControl Sample Code
通过委托方法检测滚动时,可以开始将下一个视图的数据加载到内存中。此外,请务必将先前查看的视图保留在内存中。例如(如果第5个视图在屏幕上):
0:不在记忆中 1:不在记忆中 2:不在记忆中 3:不在记忆中 4:在记忆中 5:在记忆中 6:在记忆中 7:不在记忆中 8:不在记忆中
例如,一旦检测到用户已到达第5页,您就开始加载下一页。您甚至可以考虑提前加载+2页,以防滚动发生得更快,或者用户滚过视图。滚动视图也会反弹,所以如果你在一边缺少内容,它可能看起来很糟糕。
祝你好运!