我正在使用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底部的方法!
答案 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
}