UIImageView添加圆角

最直接的方法就是使用如下属性设置:

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

这是离屏渲染(off-screen-rendering),消耗性能的
给UIImage添加生成圆角图片的扩展API:这是on-screen-rendering

- (UIImage *)imageWithCornerRadius:(CGFloat)radius {
CGRect rect = (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;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • imgView.layer.cornerRadius =10;// 这一行代码是很消耗性能的imgView.cli...
    Asserts阅读 1,603评论 0 0
  • 喜欢我的可以关注收藏我的个人博客:RobberJJ 创建一个UIImageView对象: 第一种方法 clipsT...
    Ro_bber阅读 3,584评论 0 4
  • 前言 在iOS开发中我们经常会遇到给UIImageView添加圆角,如:给用户头像设置圆角等。在这里记录一下使用过...
    QuintGao阅读 10,833评论 2 3
  • 今天分享来自《如何有效整理信息》这本书的十点感悟: 001 一元化 不分类别,尽情记录,将你想要记录的一切信息都纳...
    饼姑娘阅读 1,234评论 0 1
  • 那时的我们还算诚恳 说出的话 一定会去履行 许下的承诺 一定不会忘记 答应下的事 一定会兑现 如今的我们 为了生计...
    平生远阅读 1,634评论 0 0

友情链接更多精彩内容