iOS最不卡顿的圆角图片的设置(UIImage分类)

为什么要加UIImage这个分类

在我们的项目中经常使用圆形图象图片 而我们的一般做法是这样的。把图片加载到imageView上,再设置imageView的属性 。
代码如下:

imageView.layer.cornerRadius= 8;(值越大,角就越圆)
imageView.layer.masksToBounds= YES;

这样设置如果很多页面设置这个不但代码冗余而且当页面展示过多的圆角图片时候可能还会造成卡顿现象所以增加了这个分类 直接在底层绘制出来在展示到页面上显示 废话不多述代码展示:

//- (instancetype)circleImage
{
// 开启图形上下文 (这个就用到前面的UIView的分类可以直接点出来)
UIGraphicsBeginImageContext(self.size);

// 获得上下文
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();

// 关闭图形上下文
UIGraphicsEndImageContext();

return image;
}

+ (instancetype)circleImageNamed:(NSString *)name
{
return [[self imageNamed:name] circleImage];
}

以后可以直接使用 [UIImage circleImageNamed: @”aa.png”]来设置圆角图片就可以啦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值