2014-05-19 51 views
0

我有一个图像滑块,并使用setImageWithURLRequest从url下载图像。假设用户从应用程序代码的左侧滑动到右侧,那么我必须显示我可以实现的最右侧的索引图像,但在此之后,我必须从索引的开头下载图像。如何实现这一目标?AFNetworking:使用setImageWithURLRequest的异步图像下载

for (int i = 0; i < self.items.count; i++) { 
    CGRect frame; 
    frame.origin.x = scrollView.frame.size.width * i; 
    frame.origin.y = 0; 
    frame.size = scrollView.frame.size; 
    UIView *subview = self.view; 

    UIImageView *imageView = [[UIImageView alloc] initWithFrame:frame]; 
    imageView.contentMode = UIViewContentModeCenter; 
    subview = imageView; 

    NSURLRequest *imagerequest = [NSURLRequest requestWithURL:[_items objectAtIndex:i]]; 
    __weak UIImageView *weakImageView = (UIImageView *) subview; 

    [(UIImageView *) subview setImageWithURLRequest:imagerequest 
           placeholderImage:[UIImage imageNamed:@"placeholder.gif"] 
             success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) { 

              UIImageView *strongImageView = weakImageView; // make local strong reference to protect against race conditions 
              if (!strongImageView) return; 

              strongImageView.image = image; 

             } 
             failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) { 
              //[activityIndicatorView removeFromSuperview]; 

              // do any other error handling you want here 
             }]; 

    [scrollView addSubview:subview]; 
} 
+0

请添加一些您的代码 – gran33

回答

1

U可以使用UIImageView+AFNetworking.h

- (void)setImageWithURL:(NSURL *)url 
     placeholderImage:(UIImage *)placeholderImage; 

实施例:

[imageView setImageWithURL:<url> placeholderImage:<image>]; 

或者:

- (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; 

实施例:

[imageView setImageWithURL:<url> placeholderImage:<image> success:<successBlock> failure:<faliureBlock>]; 
+0

我正在使用setImageWithURLRequest方法进行异步图像下载。但我需要做的是,当用户从左向右滑动,然后停止索引时,我必须加载使用setImageWithURLRequest方法发生的图像,但同时所有其他图像也应该一个接一个下载。 –