从URL获取图像后图像视图不更新

时间:2013-01-17 15:45:01

标签: ios

我正在使用AFNetworking类别UIImageView+AFNetworking.h才能从S3下载图片。我得到一个预先签名的URLRequest并继续获取图像。这是一个仅用于显示照片的控制器:

- (void)viewWillAppear:(BOOL)animated
{
    NSURLRequest *request = [BFAWSUploader downloadPhotoWithFileName:[NSString stringWithFormat:@"%@.jpg", _topicMessage.attachment_s3_name]];
    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    [_imageView setImageWithURLRequest:request placeholderImage:[UIImage imageNamed:@"Default.png"] success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
        NSLog(@"Pulled down image successfully");
        [hud hide:YES];
    } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {
        NSLog(@"Failed to pull down image");
    }];
}

我看到日志条目“成功拉下图像”,但之后我没有看到图像视图更新。相反,我必须离开视图控制器,然后返回,我将看到缓存的条目。

1 个答案:

答案 0 :(得分:1)

来自UIImageView+AFNetworking.h

“如果指定了成功块,则在返回之前设置图像视图的图像是块的责任。如果未指定成功块,则使用self.image = image设置图像的默认行为是执行“。

因此,您需要在成功阻止中_imageView.image = image