博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS第三方之SDWebImage
阅读量:7034 次
发布时间:2019-06-28

本文共 4448 字,大约阅读时间需要 14 分钟。

项目中从服务器端下载图片这些几乎是必备的,使用时也很简单,只需引入SDWebImage文件

////  ViewController.m//  sdWebImageDemo////  Created by City--Online on 15/6/15.//  Copyright (c) 2015年 City--Online. All rights reserved.//#import "ViewController.h"#import "UIImageView+WebCache.h"@interface ViewController ()@property(nonatomic,strong) UIImageView *imgView1;@property(nonatomic,strong) UIImageView *imgView2;@end@implementation ViewController- (void)viewDidLoad {    [super viewDidLoad];    UIButton *claerBtn=[UIButton buttonWithType:UIButtonTypeSystem];    [claerBtn setTitle:@"清除缓存" forState:UIControlStateNormal];    claerBtn.frame=CGRectMake(20, 10, 100, 100);    [claerBtn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];    claerBtn.tag=10001;    [self.view addSubview:claerBtn];        UIButton *loadBtn=[UIButton buttonWithType:UIButtonTypeSystem];    [loadBtn setTitle:@"加载" forState:UIControlStateNormal];    loadBtn.frame=CGRectMake(130, 10, 100, 100);    [loadBtn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];    loadBtn.tag=10002;    [self.view addSubview:loadBtn];        _imgView1=[[UIImageView alloc]initWithFrame:CGRectMake(20, 120, 250, 250)];    _imgView1.backgroundColor=[UIColor grayColor];    [self.view addSubview:_imgView1];        _imgView2=[[UIImageView alloc]initWithFrame:CGRectMake(20, 380, 250, 250)];    _imgView2.backgroundColor=[UIColor grayColor];    [self.view addSubview:_imgView2];        }-(void)btnClick:(id)sender{    UIButton *btn=(UIButton *)sender;    if (btn.tag==10001) {        [[SDImageCache sharedImageCache] clearDisk];                [[SDImageCache sharedImageCache] clearMemory];    }    else if (btn.tag==10002)    {        NSURL *imgPath1=[NSURL URLWithString:@"http://s15.sinaimg.cn/middle/9914f9fdhbc6170891ebe&690"];        NSURL *imgPath2=[NSURL URLWithString:@"http://s14.sinaimg.cn/middle/9914f9fdhbc611c219f3d&690"];                //基本使用方法//        [_imgView1 sd_setImageWithURL:imgPath1 ];//        //        //block//        [_imgView2 sd_setImageWithURL:imgPath2 completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {//            NSLog(@"这里可以在图片加载完成之后做些事情");//        }];                //预先设定一张图片//        [_imgView1 sd_setImageWithURL:imgPath1 placeholderImage:[UIImage imageNamed:@"default.jpg"]];//        //        //block 预先设定一张图片//        [_imgView2 sd_setImageWithURL:imgPath2 placeholderImage:[UIImage imageNamed:@"default.jpg"] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {//            NSLog(@"这里可以在图片加载完成之后做些事情");//        }];//        [_imgView1 sd_setImageWithURL:imgPath1 placeholderImage:[UIImage imageNamed:@"default.jpg"] options:SDWebImageCacheMemoryOnly];                SDWebImageManager *manager=[SDWebImageManager sharedManager];        [manager downloadImageWithURL:imgPath2 options:SDWebImageRetryFailed progress:^(NSInteger receivedSize, NSInteger expectedSize) {            NSLog(@"%f",receivedSize/(float)expectedSize);                    } completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) {            NSLog(@"下载完成");            _imgView2.image=image;        }];//                //    /*        //     //失败后重试        //     SDWebImageRetryFailed = 1 << 0,        //        //     //UI交互期间开始下载,导致延迟下载比如UIScrollView减速。        //     SDWebImageLowPriority = 1 << 1,        //        //     //只进行内存缓存        //     SDWebImageCacheMemoryOnly = 1 << 2,        //        //     //这个标志可以渐进式下载,显示的图像是逐步在下载        //     SDWebImageProgressiveDownload = 1 << 3,        //        //     //刷新缓存        //     SDWebImageRefreshCached = 1 << 4,        //        //     //后台下载        //     SDWebImageContinueInBackground = 1 << 5,        //        //     //NSMutableURLRequest.HTTPShouldHandleCookies = YES;        //        //     SDWebImageHandleCookies = 1 << 6,        //        //     //允许使用无效的SSL证书        //     //SDWebImageAllowInvalidSSLCertificates = 1 << 7,        //        //     //优先下载        //     SDWebImageHighPriority = 1 << 8,        //             //     //延迟占位符        //     SDWebImageDelayPlaceholder = 1 << 9,        //             //     //改变动画形象        //     SDWebImageTransformAnimatedImage = 1 << 10,        //     */    }}- (void)didReceiveMemoryWarning {    [super didReceiveMemoryWarning];    // Dispose of any resources that can be recreated.}@end

转载地址:http://tgjal.baihongyu.com/

你可能感兴趣的文章
网易2016研发工程师编程题:路灯
查看>>
检测光纤的同心性
查看>>
Vim快捷键分类
查看>>
【BOOM】一款有趣的Javascript动画效果
查看>>
关于java mail 发邮件的问题总结(转)
查看>>
Visual Prolog 的 Web 专家系统 (9)
查看>>
友盟iOS推送配置(从真机调试到推送)
查看>>
告别.NET生成报表统计图的烦恼
查看>>
第三章 线程安全的DateFormat工具类
查看>>
systemctl 取代 service
查看>>
转 WinForm窗体生命周期
查看>>
python匹配ip正则
查看>>
李洪强iOS开发之UICollectionView的使用
查看>>
Python系统命令操作
查看>>
[C#6] 6-表达式形式的成员函数
查看>>
Win2003x64系统
查看>>
设计模式 : Template method 模板方法模式 -- 行为型
查看>>
第二十九节,装饰器
查看>>
[LintCode] Valid Palindrome 验证回文字符串
查看>>
jQuery的基本语法
查看>>