常见是这么写的
//cornerRadius 设置为self.iconImage图片宽度的一半(圆形图片)self.iconImage.layer.cornerRadius = 20;self.iconImage.layer.masksToBounds = YES;
或者在XIB SB中设置
但是 图层的剪辑会造成每一次页面有滑动、变化的时候 都要对图片重新绘制,导致页面异常卡顿。使用图层
过量会有卡顿现象, 特别是弄圆角或者阴影会很卡, 如果设置图片圆角我们一般用绘图
来做:
/** 设置圆形图片(放到分类中使用) */- (UIImage *)cutCircleImage {UIGraphicsBeginImageContextWithOptions(self.size, NO, 0.0);// 获取上下文CGContextRef ctr = UIGraphicsGetCurrentContext();// 设置圆形CGRect rect = CGRectMake(0, 0, self.size.width, self.size.height);CGContextAddEllipseInRect(ctr, rect);// 裁剪CGContextClip(ctr);// 将图片画上去[self drawInRect:rect];UIImage *image = UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();return image;}
另外 对于图片处理 可以做不同的封装。。。