三方库-SD_webImage

一、使用cocoapods将库导入工程

在podfile中写入

target'demo2' do

pod 'SDWebImage', '~>3.8’

end

终端更新一下podfile

pod update

二、使用方式

项目中引入头文件

#import <SDWebImage/UIImageView+WebCache.h>


(一)简单的图片存储

1.获取当前图片的地址

- (NSURL *)sd_imageURL;

2、下载网络图片并缓存

- (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder;

3.下载完成图片后并执行回调

- (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletionBlock)completedBlock;

(二)对按钮的处理

#import "UIButton+WebCache.h”

1、设置不同状态的按钮的图片

- (void)sd_setImageWithURL:(NSURL *)url forState:(UIControlState)state;

2、设置不同状态的按钮的背景图片

- (void)sd_setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder;

(三)SDWebImageOptions

1.SDWebImageRetryFailed  失败后重试

2.SDWebImageLowPriority  延迟下载

3.SDWebImageCacheMemoryOnly  只在内存缓存

4.SDWebImageProgressiveDownload  渐进式下载,显示的图像是逐步在下载

5.SDWebImageRefreshCached  刷新缓存,专门处理相同url,但不同image的情况的

6.SDWebImageContinueInBackground  启动后台下载,app进入后台后继续下载

7.SDWebImageHandleCookies  处理存储在NSHTTPCookieStore中的cookie

8. SDWebImageAllowInvalidSSLCertificates  允许使用无效的SSL证书,主要用于测试目的,在正式环境中慎用

9. SDWebImageHighPriority  优先下载

10. SDWebImageDelayPlaceholder  等待下载完成后再显示占位图片,延迟显示占位图片

11. SDWebImageTransformAnimatedImage  改变动画形象

12. SDWebImageAvoidAutoSetImage  下载完成后手动设置图片,默认是下载完成后自动放到ImageView上

(四)缓存类型—SDImageCacheType

1.SDImageCacheTypeNone永不缓存,但是从网上下载

2.SDImageCacheTypeDisk只缓存到磁盘上

3.SDImageCacheTypeMemory只缓存到内存中

三、sd_webImage实现原理

(一)内部实现重要类

1.SDWebImageManager

2.SDWebImageDownloader

3.SDWebImageDownloaderOperation

4.SDImageCache

5.SDWebImageDecoder


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容