开发中设置圆角的注意点

在开发中,经常需要给一些图片设置圆角,设置圆角的方法如下

  • 修改layer图层的方法(离屏渲染):
self.iconImgView.layer.cornerRadius = self.iconImgView.ll_width / 2;
self.iconImgView.layer.masksToBounds = YES;
  • 利用图形上下文裁剪图片:
[_iconView sd_setImageWithURL:[NSURL URLWithString:item.image_list] placeholderImage:[UIImage imageNamed:@"defaultUserIcon"] options:SDWebImageCacheMemoryOnly completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
            // 1.开启图形上下文
            // 比例因素:当前点与像素比例
            UIGraphicsBeginImageContextWithOptions(image.size, NO, 0);
            // 2.描述裁剪区域
            UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, image.size.width, image.size.height)];
            // 3.设置裁剪区域;
            [path addClip];
            // 4.画图片
            [image drawAtPoint:CGPointZero];
            // 5.取出图片
            image = UIGraphicsGetImageFromCurrentImageContext();
            // 6.关闭上下文
            UIGraphicsEndImageContext();

            _iconView.image = image;

注意点:

两种方法都可以设置圆角,但是在iOS 8之前,在列表中使用离屏渲染的方法会拖慢帧率,导致流畅度下降,所以不建议使用。iOS 8之后已经解决了该问题,所以两种方法都可以。

你可能感兴趣的:(开发中设置圆角的注意点)