将其他单元格添加到ULICollectionView的底部

时间:2013-07-26 16:50:04

标签: iphone ios objective-c uicollectionview uicollectionviewcell

我正在使用UICollectionView从instagram获取一组图像,但是当我到达页面底部时,我想加载过去的图像。然而,我接收过去的图像,因为它们已登录到控制台但不会出现在屏幕上。

以下是我检索图片的代码:

- (void)nextInstagramPage:(NSIndexPath *)indexPath{
NSDictionary *page = self.timelineResponse[@"pagination"];
NSString *nextPage = page[@"next_url"];

[[InstagramClient sharedClient] getPath:[NSString stringWithFormat:@"%@",nextPage] parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
    self.timelineResponse = responseObject;
    [self.collectionView reloadData];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Failure: %@", error);
}];

}

以下是检测用户何时到达屏幕底部的代码:

- (void)collectionView:(UICollectionView *)collectionView didEndDisplayingCell:(UICollectionViewCell *)cell forItemAtIndexPath:(NSIndexPath *)indexPath{

[self nextInstagramPage:indexPath];

}

编辑 :我发现collectionview是uiscrollview的子类,那么我将如何正确实现一个具有索引路径来检测scrollview底部的方法!

1 个答案:

答案 0 :(得分:0)

在你的代码中,我做了两个假设,你有一个数据数组与你的ui集合视图和委托/数据源方法并行运行。您会在代码中注意到至少这两种方法。

– collectionView:numberOfItemsInSection:
– collectionView:cellForItemAtIndexPath:

第一个告诉你在你的ui集合视图中看到多少个项目/单元格/正方形,第二个让你创建项目/单元格/正方形的样子。

在第一种方法中,您告诉了uicolelction视图有多少,在cellforitem中你应该测试“这是最后一张图像”如果它是最后一张图像然后下载更多图像,如果它不是最后一张图像那么继续好像什么也没发生

编辑:

[[self entries] count]

你有这个,现在在索引路径的行的单元格中

if ( indexpath.item == ([[self entries] count] - 1) ) {
   // download more data and add it to the 'entries' array
}