就像标题所说的那样。给出:
[imageView setImageWithURL:[NSURL URLWithString:imageurl]];
图像加载(或从缓存中拉出)并显示后执行任务的最佳方法是什么?
答案 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
属性。