123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215 |
- /*
- * This file is part of the SDWebImage package.
- * (c) Olivier Poitrey <rs@dailymotion.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- #import "SDWebImageCompat.h"
- #import "SDWebImageManager.h"
- /**
- * Integrates SDWebImage async downloading and caching of remote images with UIImageView.
- *
- * Usage with a UITableViewCell sub-class:
- *
- * @code
- #import <SDWebImage/UIImageView+WebCache.h>
- ...
- - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
- {
- static NSString *MyIdentifier = @"MyIdentifier";
-
- UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
-
- if (cell == nil) {
- cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier]
- autorelease];
- }
-
- // Here we use the provided sd_setImageWithURL: method to load the web image
- // Ensure you use a placeholder image otherwise cells will be initialized with no image
- [cell.imageView sd_setImageWithURL:[NSURL URLWithString:@"http://example.com/image.jpg"]
- placeholderImage:[UIImage imageNamed:@"placeholder"]];
-
- cell.textLabel.text = @"My Text";
- return cell;
- }
- * @endcode
- */
- @interface UIImageView (WebCache)
- /**
- * Get the current image URL.
- *
- * Note that because of the limitations of categories this property can get out of sync
- * if you use sd_setImage: directly.
- */
- - (NSURL *)sd_imageURL;
- /**
- * Set the imageView `image` with an `url`.
- *
- * The download is asynchronous and cached.
- *
- * @param url The url for the image.
- */
- - (void)sd_setImageWithURL:(NSURL *)url;
- /**
- * Set the imageView `image` with an `url` and a placeholder.
- *
- * The download is asynchronous and cached.
- *
- * @param url The url for the image.
- * @param placeholder The image to be set initially, until the image request finishes.
- * @see sd_setImageWithURL:placeholderImage:options:
- */
- - (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder;
- /**
- * Set the imageView `image` with an `url`, placeholder and custom options.
- *
- * The download 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.
- */
- - (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options;
- /**
- * Set the imageView `image` with an `url`.
- *
- * The download is asynchronous and cached.
- *
- * @param url The url for the image.
- * @param completedBlock A block called when operation has been completed. This block has 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 retrieved from the local cache or from the network.
- * The fourth parameter is the original image url.
- */
- - (void)sd_setImageWithURL:(NSURL *)url completed:(SDWebImageCompletionBlock)completedBlock;
- /**
- * Set the imageView `image` with an `url`, placeholder.
- *
- * The download 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 completedBlock A block called when operation has been completed. This block has 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 retrieved from the local cache or from the network.
- * The fourth parameter is the original image url.
- */
- - (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletionBlock)completedBlock;
- /**
- * Set the imageView `image` with an `url`, placeholder and custom options.
- *
- * The download 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 completedBlock A block called when operation has been completed. This block has 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 retrieved from the local cache or from the network.
- * The fourth parameter is the original image url.
- */
- - (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletionBlock)completedBlock;
- /**
- * Set the imageView `image` with an `url`, placeholder and custom options.
- *
- * The download 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 has 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 retrieved from the local cache or from the network.
- * The fourth parameter is the original image url.
- */
- - (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletionBlock)completedBlock;
- /**
- * Set the imageView `image` with an `url` and optionally a placeholder image.
- *
- * The download 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 has 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 retrieved from the local cache or from the network.
- * The fourth parameter is the original image url.
- */
- - (void)sd_setImageWithPreviousCachedImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletionBlock)completedBlock;
- /**
- * Download an array of images and starts them in an animation loop
- *
- * @param arrayOfURLs An array of NSURL
- */
- - (void)sd_setAnimationImagesWithURLs:(NSArray *)arrayOfURLs;
- /**
- * Cancel the current download
- */
- - (void)sd_cancelCurrentImageLoad;
- - (void)sd_cancelCurrentAnimationImagesLoad;
- /**
- * Show activity UIActivityIndicatorView
- */
- - (void)setShowActivityIndicatorView:(BOOL)show;
- /**
- * set desired UIActivityIndicatorViewStyle
- *
- * @param style The style of the UIActivityIndicatorView
- */
- - (void)setIndicatorStyle:(UIActivityIndicatorViewStyle)style;
- @end
- @interface UIImageView (WebCacheDeprecated)
- - (NSURL *)imageURL __deprecated_msg("Use `sd_imageURL`");
- - (void)setImageWithURL:(NSURL *)url __deprecated_msg("Method deprecated. Use `sd_setImageWithURL:`");
- - (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder __deprecated_msg("Method deprecated. Use `sd_setImageWithURL:placeholderImage:`");
- - (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options __deprecated_msg("Method deprecated. Use `sd_setImageWithURL:placeholderImage:options`");
- - (void)setImageWithURL:(NSURL *)url completed:(SDWebImageCompletedBlock)completedBlock __deprecated_msg("Method deprecated. Use `sd_setImageWithURL:completed:`");
- - (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletedBlock)completedBlock __deprecated_msg("Method deprecated. Use `sd_setImageWithURL:placeholderImage:completed:`");
- - (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock __deprecated_msg("Method deprecated. Use `sd_setImageWithURL:placeholderImage:options:completed:`");
- - (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletedBlock)completedBlock __deprecated_msg("Method deprecated. Use `sd_setImageWithURL:placeholderImage:options:progress:completed:`");
- - (void)sd_setImageWithPreviousCachedImageWithURL:(NSURL *)url andPlaceholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletionBlock)completedBlock __deprecated_msg("Method deprecated. Use `sd_setImageWithPreviousCachedImageWithURL:placeholderImage:options:progress:completed:`");
- - (void)setAnimationImagesWithURLs:(NSArray *)arrayOfURLs __deprecated_msg("Use `sd_setAnimationImagesWithURLs:`");
- - (void)cancelCurrentArrayLoad __deprecated_msg("Use `sd_cancelCurrentAnimationImagesLoad`");
- - (void)cancelCurrentImageLoad __deprecated_msg("Use `sd_cancelCurrentImageLoad`");
- @end
|