开源中国iOS客户端学习——(十四)使用EGOImageLoading异步加载图片

     EGOImageLoading 是一个用的比较多的异步加载图片的第三方类库,简化开发过程,我们直接传入图片的url,这个类库就会自动帮我们异步加载和缓存工作;当从网上获取图片时,如果网速慢图片短时间内不能下载下来,可以先用一张本地的图片代替显示,还可以进行其他操作,让图片下载完成后自动替换占位图片而不影响用户体验;

创新互联建站成立十年来,这条路我们正越走越好,积累了技术与客户资源,形成了良好的口碑。为客户提供成都网站建设、成都网站制作、网站策划、网页设计、申请域名、网络营销、VI设计、网站改版、漏洞修补等服务。网站是否美观、功能强大、用户体验好、性价比高、打开快等等,这些对于网站建设都非常重要,创新互联建站通过对建站技术性的掌握、对创意设计的研究为客户提供一站式互联网解决方案,携手广大客户,共同发展进步。

EGOImageLoading 的GitHub 下载地址  https://github.com/enormego/EGOImageLoading

GitHub上下载下来的类库会有一个Demo,如果运行出错说明缺少EGOCache类,在https://github.com/enormego/EGOCache添加道工程之中,或者直接在附件上下载

     首先还是来分析一下开源中国iOS客户端如何使用这个第三方类库

在我搜索客户端中哪些类使用了这个类库的时候和预期的并不一样,在工程中有很多地方需要使用到图片的异步加载,而使用EGOImageLoading类库加载只有三个地方,也可以说是两个地方

一是在显示个人资料加载个人图片,显示个人信息时候使用的。

二个是显示你的粉丝或者你关注的人,想查看TA的资料的时候

开源中国iOS客户端学习——(十四)使用EGOImageLoading异步加载图片开源中国iOS客户端学习——(十四)使用EGOImageLoading异步加载图片

在MyView类和UserView2类中,使用方法一样

声明一个 EGOImageView管理图片的异步加载

@property (strong,nonatomic) EGOImageView * egoImgView;

在ViewDidLoad方法中

//    初始化
    self.egoImgView = [[EGOImageView alloc] initWithFrame:CGRectMake(15, 4, 70, 70)];
//    占位图片
    self.egoImgView.p_w_picpath = [UIImage p_w_picpathNamed:@"big_avatar_loading.png"];
//    设置图片圆角弧度
    egoImgView.layer.cornerRadius = 10.0f;
    [self.view addSubview:self.egoImgView];


然后就是在reload()方法中图片加载处理,先从网络解析获取图片的url资源,如果未获取到图片url仍然显示占位图片,如果获取到了就将占位图片更换为解析获取的图片

//头像
NSString *portrait_str = [TBXML textForElement:portrait];
if ([portrait_str isEqualToString:@""])
{
    self.egoImgView.p_w_picpath = [UIImage p_w_picpathNamed:@"big_avatar.png"];
}
else
{
    self.egoImgView.p_w_picpathURL = [NSURL URLWithString:portrait_str];
}

以上就是使用EGOImageLoading 类库进行图片的异步加载;

以下是一个使用EGOImageLoading 类库进行图片异步加载的示例Demo,下载见附件

开源中国iOS客户端学习——(十四)使用EGOImageLoading异步加载图片

在开源中国iOS 客户端的问答、动弹、我的三个视图也涉及到图片的显示加载问题,刚开始误以为使用EGOImageLoading 类库异步加载图片,而实际上是一个延迟加载,先用占位图片显示,然后使用IconDownloader类库从服务器端将图片下载到本地缓存,在进行加载显示;

开源中国iOS客户端学习——(十四)使用EGOImageLoading异步加载图片开源中国iOS客户端学习——(十四)使用EGOImageLoading异步加载图片开源中国iOS客户端学习——(十四)使用EGOImageLoading异步加载图片


附件:http://down.51cto.com/data/2362941

当前名称:开源中国iOS客户端学习——(十四)使用EGOImageLoading异步加载图片
文章来源:http://hbruida.cn/article/ijipig.html