我想用 SDWebImage 向 imageView 添加一些动画。我的 collectionView 委托(delegate)函数在这里
- (UICollectionViewCell *)collectionViewUICollectionView *)cv cellForItemAtIndexPathNSIndexPath *)indexPath
{
Cell *cell = (Cell *)[cv dequeueReusableCellWithReuseIdentifier"identifier" forIndexPath:indexPath];
[cell.imageView sd_setImageWithURL:[NSURL URLWithString:URL] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
cell.imageView.alpha = 0;
[UIView animateWithDuration:0.5 animations:^{
cell.imageView.alpha = 1;
}];
}];
}
在SDWebImage下载图片并设置imageView的图片过程中就可以了。
但是当我调用 [collection reloadData] 方法时,这些 imageViews 又消失了。
我知道原因,但我没有解决办法。
Best Answer-推荐答案 strong>
我最近一直在为同样的问题苦苦挣扎,我想我想出了一个易于使用的解决方案。可以看here .
基本上,它是一个 UIImageView 类别,仅当从网络下载或从磁盘缓存中获取时才使用动画来设置图像(这需要的时间要少得多,但仍然很明显)。如果它来自内存 - 不需要动画。当你重新加载你的 Collection View 图像显然缓存在内存中,所以不会使用动画。让我知道它是否对你有用。
关于ios - 如何使用带有 UICollectionView 的 SDWebImage 添加溶解动画,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/29161272/
|