Add progress block support to UIImageView category

This commit is contained in:
Olivier Poitrey 2012-11-05 20:38:37 +01:00
parent f7d0f1d12f
commit 149afed476
2 changed files with 27 additions and 6 deletions

View File

@ -116,6 +116,22 @@
*/ */
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock; - (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock;
/**
* Set the imageView `image` with an `url`, placeholder and custom options.
*
* The downloand is asynchronous and cached.
*
* @param url The url for the image.
* @param placeholder The image to be set initially, until the image request finishes.
* @param options The options to use when downloading the image. @see SDWebImageOptions for the possible values.
* @param progressBlock A block called while image is downloading
* @param completedBlock A block called when operation has been completed. This block as no return value
* and takes the requested UIImage as first parameter. In case of error the image parameter
* is nil and the second parameter may contain an NSError. The third parameter is a Boolean
* indicating if the image was retrived from the local cache of from the network.
*/
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletedBlock)completedBlock;
/** /**
* Cancel the current download * Cancel the current download
*/ */

View File

@ -15,30 +15,35 @@ static char operationKey;
- (void)setImageWithURL:(NSURL *)url - (void)setImageWithURL:(NSURL *)url
{ {
[self setImageWithURL:url placeholderImage:nil options:0 completed:nil]; [self setImageWithURL:url placeholderImage:nil options:0 progress:nil completed:nil];
} }
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder - (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder
{ {
[self setImageWithURL:url placeholderImage:placeholder options:0 completed:nil]; [self setImageWithURL:url placeholderImage:placeholder options:0 progress:nil completed:nil];
} }
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options - (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options
{ {
[self setImageWithURL:url placeholderImage:placeholder options:options completed:nil]; [self setImageWithURL:url placeholderImage:placeholder options:options progress:nil completed:nil];
} }
- (void)setImageWithURL:(NSURL *)url completed:(SDWebImageCompletedBlock)completedBlock - (void)setImageWithURL:(NSURL *)url completed:(SDWebImageCompletedBlock)completedBlock
{ {
[self setImageWithURL:url placeholderImage:nil options:0 completed:completedBlock]; [self setImageWithURL:url placeholderImage:nil options:0 progress:nil completed:completedBlock];
} }
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletedBlock)completedBlock - (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletedBlock)completedBlock
{ {
[self setImageWithURL:url placeholderImage:placeholder options:0 completed:completedBlock]; [self setImageWithURL:url placeholderImage:placeholder options:0 progress:nil completed:completedBlock];
} }
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock - (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock
{
[self setImageWithURL:url placeholderImage:placeholder options:options progress:nil completed:completedBlock];
}
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletedBlock)completedBlock;
{ {
[self cancelCurrentImageLoad]; [self cancelCurrentImageLoad];
@ -46,7 +51,7 @@ static char operationKey;
if (url) if (url)
{ {
id<SDWebImageOperation> operation = [SDWebImageManager.sharedManager downloadWithURL:url options:options progress:nil completed:^(UIImage *image, NSError *error, BOOL fromCache) id<SDWebImageOperation> operation = [SDWebImageManager.sharedManager downloadWithURL:url options:options progress:progressBlock completed:^(UIImage *image, NSError *error, BOOL fromCache)
{ {
if (image) if (image)
{ {