ios – 使用AFNetworking SetImageWithURL显示UIActivityIndi​​cator

我正在使用AFNetworking库来设置URL的内容.在以下示例中,topLeft Image是UI ImageView的一个实例.
[topLeftimage setimageWithURL:[NSURL URLWithString:imageURL]];

我想做的是在图像下载时显示一个UIActivityIndi​​catorView.但是,我无法确定触发活动指示器的启动和停止的位置.以下是我的活动指标代码.

UIActivityIndicatorView *activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
[topLeftimage addSubview:activityIndicator];
[activityIndicator startAnimating];

如何将上述代码链接到setimageWithURL方法,以便活动指标仅在图像下载时出现?

解决方法

UIImageView AFNetworking.h类别提供了一个setimageWithURL方法,允许您使用成功和失败的块.一旦请求完成成功或失败,该块将被执行.所以你可以在请求之前启动动画并将其停止在成功和失败的块.这是一个示例代码
NSURL *imageURL = [NSURL URLWithString:@"http://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Mona_Lisa%2C_by_Leonardo_da_Vinci%2C_from_C2RMF_retouched.jpg/402px-Mona_Lisa%2C_by_Leonardo_da_Vinci%2C_from_C2RMF_retouched.jpg"];
NSURLRequest *imageRequest = [NSURLRequest requestWithURL:imageURL];
[_activityIndicator setHidden:NO];
[_activityIndicator startAnimating];
[_imageView setimageWithURLRequest:imageRequest
                  placeholderImage:nil
                           success:^(NSURLRequest *request,NSHTTPURLResponse *response,UIImage *image)
 {
     [_activityIndicator setHidden:YES];
     [_activityIndicator stopAnimating];
     _imageView.image = image;
 }
                           failure:^(NSURLRequest *request,NSError *error)
 {
     [_activityIndicator setHidden:YES];
     [_activityIndicator stopAnimating];
 }];

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...