1
UICollectionView的每個單元都有一個UIImageView,我需要加載它們,這樣當你滾動瀏覽集合時,它們會正確顯示,並且每個圖像都會在其索引路徑上加載一次。延遲加載UICollectionView圖像
每張圖片均從Kinvey下載。
代碼下載每張圖片:
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath];
UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, cell.bounds.size.width, cell.bounds.size.width)];
[cell addSubview:imageView];
[KCSFileStore downloadData:@"id for item at index path"] completionBlock:^(NSArray *downloadedResources, NSError *error) {
if (error == nil) {
KCSFile* file = downloadedResources[0];
dispatch_async(dispatch_get_main_queue(), ^(void){
imageView.image = [UIImage imageWithData:file.data];
});
NSLog(@"Downloaded.");
} else {
NSLog(@"Error: %@", error.localizedDescription);
}
} progressBlock:nil];
那「dispatch_async(dispatch_get_main_queue()^(無效)......」是我試圖解決我的問題下載圖像異步,但是這並沒有如果你想使用第三方庫中的CollectionView圖像進行延遲加載提前工作。
感謝。
你想要做什麼?在倒影下載圖像,而滾動它應該出現,不是嗎? – Santo
這是在cellForRow上完成的......如果是這樣,你將繼續添加imageView,這將使視圖渲染速度越來越慢,視圖不斷堆積 – Joshua