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

前端之家收集整理的这篇文章主要介绍了ios – 使用AFNetworking SetImageWithURL显示UIActivityIndi​​cator前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用AFNetworking库来设置URL的内容.在以下示例中,topLeft Image是UI ImageView的一个实例.
  1. [topLeftImage setImageWithURL:[NSURL URLWithString:imageURL]];

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

  1. UIActivityIndicatorView *activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
  2. [topLeftImage addSubview:activityIndicator];
  3. [activityIndicator startAnimating];

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

解决方法

UIImageView AFNetworking.h类别提供了一个setImageWithURL方法,允许您使用成功和失败的块.一旦请求完成成功或失败,该块将被执行.所以你可以在请求之前启动动画并将其停止在成功和失败的块.这是一个示例代码
  1. 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"];
  2. NSURLRequest *imageRequest = [NSURLRequest requestWithURL:imageURL];
  3. [_activityIndicator setHidden:NO];
  4. [_activityIndicator startAnimating];
  5. [_imageView setImageWithURLRequest:imageRequest
  6. placeholderImage:nil
  7. success:^(NSURLRequest *request,NSHTTPURLResponse *response,UIImage *image)
  8. {
  9. [_activityIndicator setHidden:YES];
  10. [_activityIndicator stopAnimating];
  11. _imageView.image = image;
  12. }
  13. failure:^(NSURLRequest *request,NSError *error)
  14. {
  15. [_activityIndicator setHidden:YES];
  16. [_activityIndicator stopAnimating];
  17. }];

猜你在找的iOS相关文章