图片异步加载库WDWebImage使用

本文介绍了如何在iOS项目中集成并使用SDWebImage库,包括添加依赖、配置项目、基本使用方法及自定义代理实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下载地址: https://github.com/rs/SDWebImage

1.添加文件至项目中

2.添加Framework  MapKit.framework, ImageIO.framework

3.修改Build Settings

Linking中的Other Linker Flags添加  -ObjC

Search Paths中的Header Search Paths添加”$(TARGET_BUILD_DIR)/usr/local/lib/include” 和             

”$(OBJROOT)/UninstalledProducts/include” 

4.#import头文件UIImageView+WebCache.h

5.默认支持ARC

6.基本代码 [cell.imageView setImageWithURL:[NSURL URLWithString:[array objectAtIndex:indexPath.row]]placeholderImage:[UIImage imageNamed:@"placeholder.png"]]

7.使用SDWebImageManager类,可以进行一些异步加载的工作

SDWebImageManager*manager = [SDWebImageManager sharedManager];
NSURL *url =
 [NSURL URLWithString:@"http://static2.dmcdn.net/static/video/116/367/44763611:jpeg_preview_small.jpg?20120509101749"];
UIImage *cacheImage =[[SDImageCache sharedImageCache] imageFromKey:[manager cacheKeyForURL:url]];
if (cacheImage) {
    NSLog(@"done");
    UIButton *btn = (UIButton *)[self.viewviewWithTag:101];
    [btn setBackgroundImage:cacheImageforState:UIControlStateNormal];
}
else {
    [manager downloadWithURL:url
                  delegate:self
                  options:0
                  success:^(UIImage *image, BOOLcached){
                  NSLog(@"%d",cached);                     
                  }
                  failure:^(NSError *error){
                     NSLog(@"fail");            
                  }
     ];
}
-(void)webImageManager:(SDWebImageManager *)imageManagerdidFinishWithImage:(UIImage *)image
{
    UIButton *btn = (UIButton *)[self.viewviewWithTag:101];
    [btn setBackgroundImage:imageforState:UIControlStateNormal];
}
 


要实现SDWebImageManagerDelegate协议,并且要实现协议的webImageManager:didFinishWithImage:方法。

当下载完成后,调用回调方法,使下载的图片显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值