一个 UIView 的分类,允许您渐进式下载图片。利用 AFNetworking 的图片缓存,使无缝图片增强变得非常容易。
在渲染表格视图中的多个记录时,通常会下载较小的图片作为缩略图。当您查看特定页面的详细内容时,您希望下载一个更高分辨率的图片,但使用我们已经下载的作为起点,以便用户在详细视图控制器加载时不会看到空白内容。
这利用了 AFNetworking 的图片缓存,您只需要一组渐进式增强的 URL。它支持任何数量的请求,但您可能只会使用 2 个(小/大)。
TODO
导入头文件
#import "UIImageView+AFProgressiveDownload.h"
准备一个 URL 列表
NSArray *urls = @[ smallUrl, largeUrl ];
将其加载到图片视图上
[self.imageView setImageProgressivelyWithImageURLs:progressiveURLS
placeholderImage:self.placeholderImage
completion:^(NSURL *imageURL, BOOL success, NSError *error, BOOL completed) {
NSLog(@"Completed %@", imageURL);
// just to make the effect more obvious
sleep(1);
}];
查看提供的示例项目以获取实时演示。这里的样子如下
由于图片已经缩小,很难看清,但左边的是视网膜分辨率。
AFProgressiveImageDownload 在 MIT 许可证下提供。有关详细信息,请参阅 LICENSE。
这个库是由 AFNetworking 制作的,它在做所有的体力劳动。演示项目使用创意共享许可证的图片。感谢 Eugene Kukulka 和 WPZOOM。
作为 2013 年 6 月 29 日的 Objective-C Hackathon 的一部分创建。