我正在开发一个项目,用于UICollectionView显示可能有或没有图像的数据.
我正在使用的方法是检查图像url是否为null,然后将ImageView添加到单元格上.
- (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];
}
}
Run Code Online (Sandbox Code Playgroud)
对于那些没有图像的单元格,单元格应如下所示:https: //dl.dropboxusercontent.com/u/5753236/Stackoverflow/good.png
但是,其中一些仍然会在其上添加带有裁剪图像的ImageView,导致类似这样的内容:https: //dl.dropboxusercontent.com/u/5753236/Stackoverflow/bad.png
我尝试过使用SDWebImage,但仍未解决问题.
另一个问题是,当我向下滚动时UICollectionView,我会看到一些图像首先显示为上面显示的图像,然后在加载完成后更改为正确的图像,我只是不知道导致问题的原因.
请帮我理清这两个问题,我真的很感激你的帮助.