美文网首页初见
iOS 绘制圆角的注意事项

iOS 绘制圆角的注意事项

作者: 笨鸟后飞了 | 来源:发表于2020-03-24 10:53 被阅读0次

1、设置简单,性能差别不明显,简单圆角场景下推荐使用。

       // 设置 layer 的 cornerRadius
      view.layer.masksToBounds = YES;
      view.layer.cornerRadius = imgSize.width / 2;

苹果在iOS9后优化了 cornerRadius 的绘图方式,此种方式不再需要离屏渲染。

2、在位图尺寸很大,数量很多的情况下,但要注意内存警告,最好配合缓存机制使用,避免因内存溢出而崩溃。

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
                UIImage *image = view.image;
                image = [image drawCircleImage];
                dispatch_async(dispatch_get_main_queue(), ^{
                    view.image = image;
                });
            });
////////////////////////
@implementation UIImage (RoundedCorner)

- (UIImage *)drawCircleImage {
    CGFloat side = MIN(self.size.width, self.size.height);
    UIGraphicsBeginImageContextWithOptions(CGSizeMake(side, side), false, [UIScreen mainScreen].scale);
    CGContextAddPath(UIGraphicsGetCurrentContext(),
                     [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, side, side)].CGPath);
    CGContextClip(UIGraphicsGetCurrentContext());
    CGFloat marginX = -(self.size.width - side) / 2.f;
    CGFloat marginY = -(self.size.height - side) / 2.f;
    [self drawInRect:CGRectMake(marginX, marginY, self.size.width, self.size.height)];
    CGContextDrawPath(UIGraphicsGetCurrentContext(), kCGPathFillStroke);
    UIImage *output = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return output;
}

相关文章

  • iOS 图形异步绘制圆角

    iOS 图形异步绘制圆角

  • iOS 绘制圆角的注意事项

    1、设置简单,性能差别不明显,简单圆角场景下推荐使用。 苹果在iOS9后优化了 cornerRadius 的绘图方...

  • 2018-07-04

    后台绘制圆角图片 参考链接链接 iOS 离屏渲染优化(Offscreen Render)

  • iOS 绘制圆角

    级别: ★☆☆☆☆标签:「iOS切圆角」「layer圆角」「CAShapeLayer圆角」作者: Xs·H审校: ...

  • 关于corner 性能问题

    在ios 中绘制圆角常用方式: 即可实现圆角; 如果需要只设置上边角或者下边角1个或者几个圆角,也可通过下面的方式...

  • iOS 之 UIBezierPath 切角

    在iOS中绘制圆角的方式挺常见的,但是要单独绘制右上、左上的一个或两个圆角的时候,一般的方法是实现不了的,可以使用...

  • Swift 用UIBezierPath和CAShapeLayer

    一、绘制圆角 View的四个角可以绘制想要的圆角:.allCorners 四个角都是圆角...

  • ios view 绘制圆角

  • iOS 设置渐变色圆角边框

    iOS 设置渐变色圆角边框 *如下需求图,使用背景图片很难达到很好的效果 *就需要使用代码来绘制渐变色圆角边框

  • iOS笔记

    iOS 性能优化 产生离屏渲染:圆角,阴影,光栅化,透明度,遮罩, 使用CGContext在drawRect中绘制...

网友评论

    本文标题:iOS 绘制圆角的注意事项

    本文链接:https://www.haomeiwen.com/subject/ontoyhtx.html