IOS第三方之SDWebImage

项目中从服务器端下载图片这些几乎是必备的,使用时也很简单,只需引入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

IOS第三方之SDWebImageIOS第三方之SDWebImageIOS第三方之SDWebImage

你可能感兴趣的:(image)