美文网首页
图片圆角讨论

图片圆角讨论

作者: YGoooooooooal | 来源:发表于2016-12-26 11:42 被阅读13次

    一般有四种方式生成圆形图片:

    1 . 图片是圆形的

    2 . 方形图片外添加圆形镂空图片(单色背景比较好)

    3 .cornerRadius方法设置圆角

    aImageView.layer.cornerRadius = aImageView.frame.size.width/2.0;  
    
    aImageView.layer.masksToBounds = YES;
    

    4.mask方法设置圆角(慎用,大量消耗内存)

    CAShapeLayer *layer = [CAShapeLayer layer];  
    UIBezierPath *aPath = [UIBezierPath bezierPathWithOvalInRect:aImageView.bounds];  
    layer.path = aPath.CGPath;  
    aImageView.layer.mask = layer;
    

    对内存的消耗1<2<3<4;

    消耗原因:离屏渲染过多导致性能下降

    如果一定使用方法3、4,使用以下方法可以保证帧数55左右:

    self.layer.shouldRasterize = YES;  
    self.layer.rasterizationScale = [UIScreen mainScreen].scale;
    

    上述方法可以使视图渲染内容被缓存起来,从而使帧率不会下降太快。

    实测以后发现没有太大区别。

    相关文章

      网友评论

          本文标题:图片圆角讨论

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