为UIImageView添加圆角

imgView.layer.cornerRadius =10;// 这一行代码是很消耗性能的imgView.clipsToBounds = YES;

**这是离屏渲染(off-screen-rendering),消耗性能的**

给UIImage添加生成圆角图片的扩展API:这是on-screen-rendering

- (UIImage*)imageWithCornerRadius:(CGFloat)radius

{

CGRectrect = (CGRect{0.f,0.f,self.size};

UIGraphicsBeginImageContextWithOptions(self.size,NO,UIScreen.mainScreen.scale);

CGContextAddPath(UIGraphicsGetCurrentContext(),[UIBezierPath bezierPathWithRoundedRect:rect cornerRadius:radius].CGPath);

CGContextClip(UIGraphicsGetCurrentContext());

[self drawInRect:rect];

UIImage*image =UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return image;

}

你可能感兴趣的:(为UIImageView添加圆角)