SDWebImage - setImageWithURL完成加载时执行任务的方法

时间:2011-11-01 17:45:14

标签: objective-c ios sdwebimage

就像标题所说的那样。给出:

[imageView setImageWithURL:[NSURL URLWithString:imageurl]];

图像加载(或从缓存中拉出)并显示后执行任务的最佳方法是什么?

2 个答案:

答案 0 :(得分:2)

setImageWithURL API是一种非常方便的方法,但你需要更多的控制权,所以我建议你自己加载图像(受https://github.com/rs/SDWebImage/blob/master/README.md的启发):

SDWebImageManager *manager = [SDWebImageManager sharedManager];
UIImage *cachedImage = [manager imageWithURL:url];

if (cachedImage) {
    [imageView setImage:cachedImage];
    [self doMyOtherCustomStuff];
} else {
    [manager downloadWithURL:url delegate:self];
}

...

- (void)webImageManager:(SDWebImageManager *)imageManager didFinishWithImage:(UIImage *)image
{
    [imageView setImage:image];
    [self doMyOtherCustomStuff];
}
祝你好运!

答案 1 :(得分:0)

一种选择是实施SDWebImageManagerDelegate协议。 SDWebImage文档中有一个示例。

另一种选择是使用KVO并在image上观看imageView属性。