zoukankan      html  css  js  c++  java
  • 第三方框架之SDWebImage

    1. 下载SDWebImage,导入工程。github托管地址https://github.com/rs/SDWebImage

    2. 在需要的地方导入头文件#import "UIImageView+WebCache.h"

    3. 调用sd_setImageWithURL:方法缓存图片,注意,这就是新版本的新方法,旧方法是setImageWithURL:

    [self.imgView sd_setImageWithURL:[NSURL URLWithString:urlStirng]];

    4. 其他的一些方法

    (1)

    sd_setImageWithURL:  completed:
      
    //用block 可以在图片加载完成之后做些事情 [self.image2 sd_setImageWithURL:imagePath2 completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) { NSLog(@"图片加载完成之后做些事情"); }];

    (2)

      sd_setImageWithURL:  placeholderImage:
      //给一张站位图片,先使用默认图片,当图片加载完成后再替换 [self.image1 sd_setImageWithURL:imagePath1 placeholderImage:[UIImage imageNamed:@"default"]];
     

     //使用默认图片,而且用block 在完成后做一些事情 不多说 [self.image1 sd_setImageWithURL:imagePath1 placeholderImage:[UIImage imageNamed:@"default"] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) { NSLog(@"图片加载完成后做的事情"); }];

     5. 异步图片缓存

    使用SDWebImageManager类:可以进行一些异步加载的工作。
    
    SDWebImageManager *manager = [SDWebImageManager sharedManager];
    
    UIImage *cachedImage = [manager imageWithURL:url]; // 将需要缓存的图片加载进来
    
    if (cachedImage) {
    
          // 如果Cache命中,则直接利用缓存的图片进行有关操作
    
    } else {
    
          // 如果Cache没有命中,则去下载指定网络位置的图片,并且给出一个委托方法
    
         [manager downloadWithURL:url delegate:self];
    }
    
    当然你的类要实现SDWebImageManagerDelegate协议,并且要实现协议的webImageManager:didFinishWithImage:方法。
    
    // 当下载完成后,调用回调方法,使下载的图片显示
    - (void)webImageManager:(SDWebImageManager *)imageManager didFinishWithImage:(UIImage *)image {
    
    }
  • 相关阅读:
    算法之美_源码公布(5)
    SDL2源码分析2:窗体(SDL_Window)
    hdu5303Delicious Apples
    Android之怎样给ListView加入过滤器
    EntboostChat 0.9(越狱版)公布,iOS免费企业IM
    unix关于打包命令zip的使用
    用 query 方法 获得xml 节点的值
    用友ERP T6技术解析(六) 库龄分析
    [笔试题] 两个有趣的问题
    使用SecueCRT在本地主机与远程主机之间交互文件
  • 原文地址:https://www.cnblogs.com/10-19-92/p/4955884.html
Copyright © 2011-2022 走看看