使用SDWebImage异步加载的image怎么解决
kilolumen opened this issue · 11 comments
使用SDWebImage异步加载的image怎么解决
[[SDWebImageManager sharedManager] downloadImageWithURL:_model.avatar options:0 progress:nil completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) {
if (finished) {
[_avatarImage setCornerRadius:19 withImage:image];
}
}];
已测试 没问题 你试试吧
[self.titleImageView sd_setImageWithURL:[NSURL URLWithString:imageName] placeholderImage:[UIImage imageNamed:@"Swift"] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
weakSelf.titleImageView.image = [image xsy_addRoundCorner:4 Size:CGSizeMake(50, 40)];
}];webcache分类里本来就有这么个方法哈哈
我按照作者的sdwebimage的代码这样写。。下拉刷新的时候image的边角会出现。。闪一下然后再变回圆角。。。
然后我是需要弄加载图的
@Q-binbin 加载图是什么意思
@Q-binbin 我在实际项目中这样用下拉刷新不会有问题啊 -.-
if (!_avaterView.image) {
[_avaterView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage lp_imageWithRoundedCornersAndSize:CGSizeMake(50, 50) andCornerRadius:25 andColor:[UIColor MP_F7F7F7_backGroundColor]]]];
}
[[SDWebImageManager sharedManager] downloadImageWithURL:topicModel.avatar options:0 progress:nil completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) {
if (finished) {
[_avaterView setCornerRadius:25 withImage:image ];
}
}];
@raozhizhen 请问这个占位图的方法是什么意思。。也是调你那个类别里面的接口吗
@raozhizhen 在里面找不到uicolor的类别方法
@Q-binbin 我这段代码的意思是 如果image不存在,先放置一个背景颜色占着,[uicolor colworwithpatternimage:]方法是系统自带的,你将占位图用我的UIImge+RoundedCorner处理好后,转成UIColor赋值给imageview当背景颜色就可以了 因为我的是一个小的工具类,所以没有引入SDWebImage 你可以在我的代码的基础上 将这段代码封进去 这样使用起来方便一点
关于sd异步加载的处理,有更好的方案吗
@guanzhendong 有啊,我是因为不想在这个比较小的工具库里依赖 SD,所以没做处理。你可以下载之后处理图片再将处理后的图片缓存起来