在ios应用程序中向下滚动时自动加载数据

时间:2013-04-27 09:23:56

标签: iphone ios

我正在尝试在我的应用程序中执行以下操作:

我从在线服务器获取数据,并将它们放在单元格中,我需要的是在向下滚动时自动加载数据,例如在应用程序运行时加载10个单元格,然后向下滚动其他10个单元格是动态加载的。

如以下示例所示:

enter image description here

先谢谢你,

5 个答案:

答案 0 :(得分:6)

您可以在视图控制器中实现此方法并获取下一条记录

-(void)scrollViewDidScroll:(UIScrollView *)scrollView{

        if (([scrollView contentOffset].y + scrollView.frame.size.height) >= [scrollView contentSize].height){

            // Get new record from here
        }
}

这是实现分页的最简单方法。如果你想在底部添加Activity指标,你可以在同一个函数中添加它。

答案 1 :(得分:4)

当用户在底部附近滚动时,这会自动加载下一个数据片段:

#pragma mark - UIScrollViewDelegate

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    if (scrollView.contentSize.height - scrollView.contentOffset.y - scrollView.frame.size.height < 60) {
        [self loadRequest];
    }
}

答案 2 :(得分:2)

试试这个:

STableViewController

STableViewController最适合“加载更多”和“拉动刷新”。

答案 3 :(得分:1)

对于iOS 6.0,在sdk中有一个名为UIRefreshControl的标准控件。 apple doc here

和其他这里是一步一步的教程give here

其他可用的开源库。

  1. EGOTableViewPullRefresh
  2. PullToRefresh
  3. SVPullToRefresh
  4. QBRefreshControl
  5. STableViewController

答案 4 :(得分:0)

您可以使用以下方法:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
     //put data on your array 
     [tableView reloadData];
}

为了更好地理解,请参阅this

您还可以从here

获取源代码

希望这会有所帮助。