项目需求:用户昵称框展示,获取方式是URL,用本地png资源可以拉伸成功,URL获取方式的资源拉伸失败。
原因:因无法找到@2x图片对原图进行拉伸进而再使用resizableImageWithCapInsets进行平铺时造成图片变形,retina屏都要用两倍图 , 否则方法无效.
解决方案:
思路:加载完URL图片后,将UIImage转成NSData,再用[Data: scale:]方式进行获取
具体代码:
UIImageView *imgView = [[UIImageView alloc] init];
[imgViewsd_setImageWithURL:[NSURLURLWithString:@""]placeholderImage:niloptions:SDWebImageRetryFailedcompleted:^(UIImage*_Nullableimage,NSError*_Nullableerror,SDImageCacheTypecacheType,NSURL*_NullableimageURL) {
NSData*data =UIImagePNGRepresentation(image);
UIImage*png = [[UIImagealloc]initWithData:datascale:YYScreenScale()];
// 此处再利用png这个对象进行图片拉伸操作即可
//.....
}];
网友评论