我正在使用 AFNetworking 的 UIImageView+AFNetworking.h
将在线图像异步加载到 UIImageView
上。
当我使用 setImageWithURLRequest:
时,远程图像加载得很好,但是当我尝试使用 setImageWithURLRequest:placeholderImage:success:failure
时,远程图像已下载,但 UIImageView 会下载不要将它设置为它的 UIImage。
这是我的代码:
@property (strong) IBOutlet UIImageView *imageView;
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
[_imageView setImageWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://i.imgur.com/fVhhR.png"]]
placeholderImage:nil
success:^(NSURLRequest *request , NSHTTPURLResponse *response , UIImage *image ){
NSLog(@"Loaded successfully: %d", [response statusCode]);
}
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error){
NSLog(@"failed loading: %@", error);
}
];
}
图片总是加载成功,状态码总是200
。但我必须将 [_imageView setImage:image];
添加到 success
block ,以便 UIImageView
设置图像。
我正在使用 iOS 6.0
有什么想法吗?
最佳答案
如果您提供了一个成功 block ,那么您将负责设置 UIImageView 的图像属性。如果您提供一个 nil success block ,那么 AFNetworking 会为您完成。
这是 UIImageView+AFNetworking.m
的相关部分(第 117 行):
if (success) {
success(operation.request, operation.response, responseObject);
} else {
self.image = responseObject;
}
或者,只需使用不带完成 block 的 -setImageWithURL:placeholderImage:
。
关于ios - AFNetworking setImageWithURLRequest 未设置远程图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13347154/