使用 AFNetworking 异步下载图像后,是不是可以从 UIImageView 获取图像
Posted
技术标签:
【中文标题】使用 AFNetworking 异步下载图像后,是不是可以从 UIImageView 获取图像【英文标题】:Is it possible to get Image from UIImageView after image is downloaded asynchronously using AFNetworking使用 AFNetworking 异步下载图像后,是否可以从 UIImageView 获取图像 【发布时间】:2013-07-09 10:01:53 【问题描述】:我的代码是
[imageView setImageWithURL:[NSURL URLWithString:@"…"]];
设置图像。哪个工作正常。
现在我想知道如何从 imageView 获取下载的图像。如果我这样做 imageView.image
我最终会得到占位符图像。有什么解决办法吗?
【问题讨论】:
NSString *ImageURL = @"YourURLHere"; NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:ImageURL]]; imageView.image = [UIImage imageWithData:imageData]; 你想对图像做什么?您可以将其作为 NSData 保存到磁盘并从那里加载。 【参考方案1】:你必须使用以下方法:
[imageView setImageWithURLRequest:request
placeholderImage:placeholder
success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image)
// the downloaded image is image
failure:errorHandler]
【讨论】:
【参考方案2】:该扩展类中还有另一个方法
- (void)setImageWithURLRequest:(NSURLRequest *)urlRequest
placeholderImage:(UIImage *)placeholderImage
success:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image))success
failure:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error))failure;
这会给你成功的形象
【讨论】:
以上是关于使用 AFNetworking 异步下载图像后,是不是可以从 UIImageView 获取图像的主要内容,如果未能解决你的问题,请参考以下文章
异步下载后图像调整大小 AFNetworking UiTableView
ios 7 - 异步图像下载 UITableView 用于未知尺寸的图像
为啥所有异步图像加载(SDWebImage、AFNetworking)库都使用 UIImageView 而不是 UIImage?