UIScrollView一次从一个页面检索服务器中的数据

时间:2011-04-01 21:20:36

标签: iphone uiscrollview pagination

我有一个水平滚动的UIScrollView,我在UIScrollView上显示了很多数据,当我创建uiscrollview时,我确切地知道我想要显示的内容的大小,所以我相应地创建了框架。

我从服务器获取数据,我必须在uiscrollview中填充。我想从服务器一次检索一页数据,我也只想在用户滚动到第一页末尾时检索第二页,这样我就避免从服务器中提取不必要的数据。

有关如何执行此操作的任何建议吗?

2 个答案:

答案 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页,以防滚动发生得更快,或者用户滚过视图。滚动视图也会反弹,所以如果你在一边缺少内容,它可能看起来很糟糕。

祝你好运!