3

所以在其他任何事情之前,我发现了这个:

SDWebImage 在缓存之前处理图像

哪种帮助,但我真的很想使用SDWebImage,有没有办法在完成之前通过类外的方法处理图像?

据我了解,完成块

- (void)setImageWithURL:(NSURL *)url completed:(SDWebImageCompletedBlock)completedBlock

在放置图像后运行。我想在放置加载的图像之前运行一个方法。

是否有捷径可寻?

谢谢你,

4

2 回答 2

2

转发我的答案:SDWebImage 在缓存之前处理图像

SDWebImage 开发人员 Olivier Poitrey 在这里为我回答了这个问题。

您必须实现 SDWebImageManagerDelegate 协议,然后将其设置为共享管理器的委托,如下所示:

SDWebImageManager.sharedManager.delegate = self;

使用 imageManager:transformDownloadedImage:withURL: 实例方法。更多信息。

非常适合我。

于 2013-03-18T05:07:30.720 回答
0

两种选择:

  1. 编写自己的例程,独立使用异步图像缓存,处理图像,然后设置图像视图的image属性。您必须担心一些有趣的排列(例如,如果在下载完成之前已重用单元格,您会想要取消该图像视图的先前图像下载),因此您需要小心,但事实并非如此太糟糕了。

  2. 不过,可能更容易编写您自己的UIImageView类别,就像现有的SDWebImage( UIImageView+WebCache.m) 类别一样,但引入您自己的排列,setImageWithURL就像原来的一样,但也提供了一个预处理完成块。

我可能会倾向于后者,但两者都可以很好地工作

于 2013-03-13T12:24:18.077 回答