SDWebImage使用

2016-10-06  本文已影响0人  暖光照

导入头文件

  #import "UIImageView+WebCache.h"

使用方式

//图片缓存并显示
[self.imageView sd_setImageWithURL:URL];


//带完成调用的block
[self.imageView sd_setImageWithURL:URL   completed:^(UIImage   *image,   NSError   *error,   SDImageCacheType   cacheType,   NSURL   *imageURL)   {
   
}];


//使用占为图片
[self.imageView   sd_setImageWithURL:URL   placeholderImage:[UIImage   imageNamed:@"IMG_0700"]];


//使用占为图片并带完成block
[self.imageView   sd_setImageWithURL:URL   placeholderImage:[UIImage   imageNamed:@"IMG_0700"]   completed:^(UIImage   *image,   NSError   *error,   SDImageCacheType   cacheType,   NSURL   *imageURL)   {
    
}];


//options 选择方式
[self.imageView   sd_setImageWithURL:URL   placeholderImage:[UIImage   imageNamed:@"IMG_0700"]   options:SDWebImageRetryFailed];

options选项

  //默认情况下,如果一个url在下载的时候失败了,那么这个url会被加入黑名单并且library不会尝试再次下载,
  //这个flag会阻止library把失败的url加入黑名单(简单来说如果选择了这个flag,那么即使某个url下载失败了,sdwebimage还是会尝试再次下载他.)
  SDWebImageRetryFailed   =   1   <<   0,
   
  // 默认情况下,图片会在交互发生的时候下载(例如你滑动tableview的时候),这个flag会禁止这个特性,导致的结果就是在scrollview减速的时候
  // 才会开始下载(也就是你滑动的时候scrollview不下载,你手从屏幕上移走,scrollview开始减速的时候才会开始下载图片)
  SDWebImageLowPriority   =   1   <<   1,
   
  //只进行内存缓存
  SDWebImageCacheMemoryOnly   =   1   <<   2,
   
  //这个标志可以渐进式下载,显示的图像是逐步在下载
  SDWebImageProgressiveDownload   =   1   <<   3,
   
  //即使一个图片缓存了,还是会重新请求.
  SDWebImageRefreshCached   =   1   <<   4,
   
  //后台下载
  SDWebImageContinueInBackground   =   1   <<   5,
   
  //NSMutableURLRequest.HTTPShouldHandleCookies   =   YES;
  //可以控制存在NSHTTPCookieStore的cookies.(没用过)
  SDWebImageHandleCookies   =   1   <<   6,
   
  //允许使用无效的SSL证书
  //SDWebImageAllowInvalidSSLCertificates   =   1   <<   7,
   
  //优先下载
  SDWebImageHighPriority   =   1   <<   8,
   
  //延迟占位符
  SDWebImageDelayPlaceholder   =   1   <<   9,
   
  //(是否是图片有可能方向不对需要调整方向?)
  SDWebImageTransformAnimatedImage   =   1   <<   10,

原理

SDWebImage原理图.jpg

补充

  SDWebImage默认的是内存+沙盒缓存。
上一篇下一篇

猜你喜欢

热点阅读