I'm working on a project which uses UICollectionView
to display data which may or may not have an image.
The way I'm using is to check if the image url is not null, then add an ImageView onto the cell.
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
if (question.picture != (id)[NSNull null]) {
//add AsyncImageView to cell
imageView.contentMode = UIViewContentModeScaleAspectFill;
imageView.clipsToBounds = YES;
imageView.tag = IMAGE_VIEW_TAG;
[cell addSubview:imageView];
[[AsyncImageLoader sharedLoader] cancelLoadingImagesForTarget:imageView];
imageView.imageURL = [NSURL URLWithString:question.picture];
}
}
For those cells that have no image, the cell should look like this:
https://dl.dropboxusercontent.com/u/5753236/Stackoverflow/good.png
However, some of them will still add an ImageView with cropped image on it, causing something like this:
https://dl.dropboxusercontent.com/u/5753236/Stackoverflow/bad.png
I've tried using the SDWebImage, but still not solving the problem.
The other issue is that when I scroll down the UICollectionView
, I would see some images displayed as the image shown above first, and then change to its correct image after loading is completed, and I just have no idea what is causing the problem.
Please help me sort out these two problems, I'd really appreciate for any help.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…