所以在其他任何事情之前,我发现了这个:
SDWebImage process images before caching
哪种帮助但我真的想使用SDWebImage
,有没有办法在完成之前通过类外的方法处理图像?
根据我的理解,
中的完成块- (void)setImageWithURL:(NSURL *)url completed:(SDWebImageCompletedBlock)completedBlock
放置图像后运行。我想在放置加载的图像之前运行一个方法。
有一种简单的方法吗?
谢谢,
答案 0 :(得分:2)
重新发布我的答案:SDWebImage process images before caching
SDWebImage开发人员Olivier Poitrey在这里为我回答了这个问题。
您必须实现SDWebImageManagerDelegate协议,然后将其设置为共享管理器的委托,如下所示:
SDWebImageManager.sharedManager.delegate = self;
使用imageManager:transformDownloadedImage:withURL:instance方法。 更多信息。
完美地为我工作。
答案 1 :(得分:0)
两个选项:
编写自己的例程Use Asynchronous Image Caching Independently,处理图像,然后设置图像视图的image
属性。有一些有趣的排列你不必担心(例如,如果在下载完成之前已经重用了单元格,那么你想要取消该图像视图的先前图像下载),所以你需要小心,但它不是太糟糕了。
可能更容易编写自己的UIImageView
类别,就像SDWebImage
(UIImageView+WebCache.m
)的现有类别一样,但会引入您自己的排列{ {1}}就像原版一样,但也提供了一个预处理完成块。
我可能会倾向于后者,但两者都能很好地运作