模仿SDWebImage实现异步加载图片

模仿SDWebImage实现异步加载图片

模仿SDWebImage实现异步加载图片

SDWebImage想必大家都不陌生吧,要实现它的图片异步加载功能这个还是很简单的.文章来源地址https://www.yii666.com/article/764399.html

注意:此处我只实现了异步加载图片,并没有将文件缓存到本地的打算哦:)网址:yii666.com

源码:

UIImageView+YXImageView.h文章来源地址:https://www.yii666.com/article/764399.html

//
// UIImageView+YXImageView.h
// PicDemo
//
// Copyright (c) 2014年 Y.X. All rights reserved.
// #import <UIKit/UIKit.h> @interface UIImageView (YXImageView) - (void)setImageWithURL:(NSString *)url placeholderImage:(UIImage *)placeholder; @end

UIImageView+YXImageView.m

//
// UIImageView+YXImageView.m
// PicDemo
//
// Copyright (c) 2014年 Y.X. All rights reserved.
// #import "UIImageView+YXImageView.h" @implementation UIImageView (YXImageView) - (void)setImageWithURL:(NSString *)url placeholderImage:(UIImage *)placeholder
{
// 先设置placeholder
self.image = placeholder; // 异步下载完了之后再加载新的图片
if (url)
{
// 子线程下载
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, ), ^{ NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];
NSData *data = [NSURLConnection sendSynchronousRequest:request
returningResponse:nil
error:nil];
// 主线程更新
dispatch_async(dispatch_get_main_queue(), ^{
if (data)
{
self.image = [UIImage imageWithData:data];
[self setNeedsDisplay];
}
});
});
}
} @end

使用的源码:

RootViewController.m网址:yii666.com<

//
// RootViewController.m
// PicDemo
//
// Copyright (c) 2014年 Y.X. All rights reserved.
// #import "RootViewController.h"
#import "UIImageView+YXImageView.h" @interface RootViewController () @end @implementation RootViewController - (void)viewDidLoad
{
[super viewDidLoad]; UIImageView *imageView = [[UIImageView alloc] initWithFrame:self.view.bounds];
[self.view addSubview:imageView]; [imageView setImageWithURL:@"http://pic.cnitblog.com/avatar/572952/20140226185251.png"
placeholderImage:[UIImage imageNamed:@"1.png"]];
} @end

核心代码:

GCD部分就不讲解了,关键的一步是需要重绘view本身,这个涨知识了:)

模仿SDWebImage实现异步加载图片

除了下载图片,你还可以做其他操作呢:)文章地址https://www.yii666.com/article/764399.html

模仿SDWebImage实现异步加载图片

版权声明:本文内容来源于网络,版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。文本页已经标记具体来源原文地址,请点击原文查看来源网址,站内文章以及资源内容站长不承诺其正确性,如侵犯了您的权益,请联系站长如有侵权请联系站长,将立刻删除

模仿SDWebImage实现异步加载图片-相关文章

  1. iOS网络加载图片缓存与SDWebImage

  2. 模仿SDWebImage实现异步加载图片

  3. SDWebImage动画加载图片

  4. 使用SDWebImage淡入淡出的方式加载图片

  5. 解决ListView异步加载图片错乱问题 .

  6. Android学习笔记(二)之异步加载图片

  7. 【第二篇】Volley的使用之加载图片

  8. SDWebImage 加载显示 WebP 与性能问题

    SDWebImage 加载显示 WebP 与性能问题本文包含自定义下载操作 SDWebImageDownloaderOperation 与编码器 SDWebImageCoder。SDWebImage 的版本为 4.2.3。静态图片对于静态图片来说,WebP 比 PNG 体积小,可以省流量,但是解码时间长。如果不需要 WebP 的原图数据,可以把 WebP 静态图片保存为 PNG 或

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信图片_20190322181744_03.jpg

微信扫一扫打赏

请作者喝杯咖啡吧~

支付宝扫一扫领取红包,优惠每天领

二维码1

zhifubaohongbao.png

二维码2

zhifubaohongbao2.png