正在跳过UICollectionView单元格

时间:2014-03-31 16:16:02

标签: ios objective-c xcode ios7 uicollectionview

我正在尝试创建类似于500px app的CollectionView。

应用程序逻辑:启动应用程序后,CollectionView会加载空单元格(大约100个),然后当用户向下滚动时,单元格将填充图像。在视图结束时,将创建新批次的空单元格(Load More)。图片来自Instagram,每次通话20次。

问题:当拉出新图像(异步)时,单元格渲染会继续,并且通常会在下一批图像可用之前创建3-5个空单元格。

问题:这个问题有什么解决方法吗?也许有更好的方法来实现这个目标?

代码:

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {

ALPhotoCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"photo" forIndexPath:indexPath];

cell.backgroundColor = [UIColor grayColor];

if (indexPath.row < [self.photos count]) {
    cell.photo = self.photos[indexPath.row];

}

if (indexPath.row == [self.photos count]-6) {
    [ALLoadMore loadMore:self.nextPage input:self.photos completionHandler:^(NSArray *newLoad, NSString *next) {
        self.photos = newLoad;
        self.nextPage = next;
        NSLog(@"%@", self.nextPage);
            dispatch_async(dispatch_get_main_queue(), ^{
                //[self.collectionView reloadData];
                if ([self.photos count] > indexPath.row) {
                    cell.photo = self.photos[indexPath.row];
                    NSLog(@"call");
                }
                NSLog(@"%lu", (unsigned long)[self.photos count]);
            });
    }];
}

return cell;}

现在,细胞计数是一个静态数字:120

0 个答案:

没有答案