Adding method, adding a callback for when image was loaded. This fixes a shortcoming where images loaded into UITableViewCells wouldn't show up until being recycled, needing to layout its subviews
This commit is contained in:
parent
9e107d6a7b
commit
1dad3cb336
2 changed files with 38 additions and 5 deletions
|
|
@ -26,7 +26,19 @@
|
|||
@interface UIImageView (AFNetworking)
|
||||
|
||||
- (void)setImageWithURL:(NSURL *)url;
|
||||
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholderImage;
|
||||
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholderImage imageSize:(CGSize)imageSize options:(AFImageRequestOptions)options;
|
||||
|
||||
- (void)setImageWithURL:(NSURL *)url
|
||||
placeholderImage:(UIImage *)placeholderImage;
|
||||
|
||||
- (void)setImageWithURL:(NSURL *)url
|
||||
placeholderImage:(UIImage *)placeholderImage
|
||||
imageSize:(CGSize)imageSize
|
||||
options:(AFImageRequestOptions)options;
|
||||
|
||||
- (void)setImageWithURL:(NSURL *)url
|
||||
placeholderImage:(UIImage *)placeholderImage
|
||||
imageSize:(CGSize)imageSize
|
||||
options:(AFImageRequestOptions)options
|
||||
block:(void (^)(UIImage *image))block;
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -59,16 +59,33 @@ static NSString * const kUIImageViewImageRequestObjectKey = @"imageRequestOperat
|
|||
|
||||
return _imageRequestOperationQueue;
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
|
||||
- (void)setImageWithURL:(NSURL *)url {
|
||||
[self setImageWithURL:url placeholderImage:nil];
|
||||
}
|
||||
|
||||
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholderImage {
|
||||
- (void)setImageWithURL:(NSURL *)url
|
||||
placeholderImage:(UIImage *)placeholderImage
|
||||
{
|
||||
[self setImageWithURL:url placeholderImage:placeholderImage imageSize:self.frame.size options:AFImageRequestDefaultOptions];
|
||||
}
|
||||
|
||||
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholderImage imageSize:(CGSize)imageSize options:(AFImageRequestOptions)options {
|
||||
- (void)setImageWithURL:(NSURL *)url
|
||||
placeholderImage:(UIImage *)placeholderImage
|
||||
imageSize:(CGSize)imageSize
|
||||
options:(AFImageRequestOptions)options
|
||||
{
|
||||
[self setImageWithURL:url placeholderImage:placeholderImage imageSize:imageSize options:options block:nil];
|
||||
}
|
||||
|
||||
- (void)setImageWithURL:(NSURL *)url
|
||||
placeholderImage:(UIImage *)placeholderImage
|
||||
imageSize:(CGSize)imageSize
|
||||
options:(AFImageRequestOptions)options
|
||||
block:(void (^)(UIImage *image))block
|
||||
{
|
||||
if (!url) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -76,7 +93,7 @@ static NSString * const kUIImageViewImageRequestObjectKey = @"imageRequestOperat
|
|||
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLCacheStorageAllowed timeoutInterval:30.0];
|
||||
[request setHTTPShouldHandleCookies:NO];
|
||||
[request setHTTPShouldUsePipelining:YES];
|
||||
|
||||
|
||||
UIImage *cachedImage = [[AFImageCache sharedImageCache] cachedImageForRequest:request imageSize:imageSize options:options];
|
||||
if (cachedImage) {
|
||||
self.image = cachedImage;
|
||||
|
|
@ -89,6 +106,10 @@ static NSString * const kUIImageViewImageRequestObjectKey = @"imageRequestOperat
|
|||
} else {
|
||||
self.image = placeholderImage;
|
||||
}
|
||||
|
||||
if (block) {
|
||||
block(image);
|
||||
}
|
||||
}];
|
||||
|
||||
[[[self class] sharedImageRequestOperationQueue] addOperation:self.imageRequestOperation];
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue