方法一
用CALayer设置圆角图片,但是会出现卡屏现象
苹果在渲染的时候做了很多耗时耗能的内部操作
不推荐使用
- (void)awakeFromNib
{
self.imageListView.layer.cornerRadius = self.imagListView.width*0.5;
self.imageListView.layer.masksToBounds = YES;
}
方法二
运用Quarz2D技术,将圆角图片画上去
if (image == nil)return;
这句话很有意义,如果没有返回数据,给一个占位图片
- (void)setTagModel:(CYTag*)tagModel {
CYWeakSelf;
// 下载图像 (SDWebImage框架给力一个占位图片defaultUserIcon)
[self.imageListView sd_setImageWithURL:[NSURL URLWithString:tagModel.image_list] placeholderImage:placeholder completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
if (image == nil) return;
// NO透明
UIGraphicsBeginImageContextWithOptions(self.size, NO, 0.0);
// 获得上下文
CGContextRef ctx = UIGraphicsGetCurrentContext();
// 添加一个圆
CGRect rect = CGRectMake(0, 0, self.size.width, self.size.height);
CGContextAddEllipseInRect(ctx, rect);
// 裁剪
CGContextClip(ctx);
// 将图片画上去
[self drawInRect:rect];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
self.imageListView.image = image;
//结束上下文
UIGraphicsEndImageContext();
}];
}