R87DownloaderImageView
是 UIImageView
的子类,可以实现从提供的链接下载图片。
下载进行时显示默认或自定义进度条,下载成功时返回包含下载图片的成功快照,失败时返回错误快照。
R87DownloaderImageView 通过 CocoaPods 提供。要安装它,只需将以下行添加到 Podfile 中
pod "R87DownloaderImageView"
使用此方法从服务器开始图片下载
- (void)downloadImageWithLink:(NSString *)imageLink
withSuccessBlock:(void(^)(NSData *imageData))successBlock
failureBlock:(void(^)(NSError *error))failureBlock;
您可以选择在 downloadImageWithLink:withSuccessBlock:failureBlock
方法之前设置 image
属性。在这种情况下,方法在成功快照中返回 nil 参数。
您可以在 downloadImageWithLink:withSuccessBlock:failureBlock
方法之前设置 activityIndicator
属性。在这种情况下,提供的视图将在下载过程中显示。
您可以在 downloadImageWithLink:withSuccessBlock:failureBlock
方法之前设置 errorImage
属性。如果发生错误,将显示此图像。
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
// set image if exists
NSData *imageData = [userDefaults objectForKey:@"image"];
self.imageView.image = [UIImage imageWithData:imageData];
// set custom loading indicator
UIActivityIndicatorView *activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
[activityIndicator startAnimating];
self.imageView.activityIndicator = activityIndicator;
// set error image
self.imageView.errorImage = [UIImage imageNamed:@"errorImage"];
// download image (does nothing if the image exists)
[self.imageView downloadImageWithLink:@"http://lorempixel.com/400/400/" withSuccessBlock:^(NSData *imageData) {
[userDefaults setObject:imageData forKey:@"image"];
[userDefaults synchronize];
} failureBlock:nil];
iOS 5.0+
始终欢迎贡献!(
git checkout -b my-new-feature
)git commit -am '添加一些功能'
)git push origin my-new-feature
)该项目遵循 MIT 许可证。
Gerő Németh (reden87)