美文网首页零碎知识点iOS Developer将来跳槽用
通过遮罩的方式设置图片圆角

通过遮罩的方式设置图片圆角

作者: 皮乐皮儿 | 来源:发表于2017-12-08 14:53 被阅读83次

给图片设置圆角通常情况下我们会直接设置imageView.layer.coreners,这是UIView自带的属性,但是有时候在列表中多处用到圆角设置,用这个就会影响性能。至于如何优化tableView因为圆角而导致的性能问题,我这里不多说,本文介绍的方法也是优化方式之一。再者,如果有需求中需要图片的某一个角,或者某几个角为圆角,直接设置layer的方法就力不从心了,下面开始本文的方式介绍,主要展现形式是代码。

如图:


屏幕快照 2017-12-08 14.47.30.png

我想要的是左上和右上的图片圆角,其他的不变,那么这个时候要如何处理呢?借助强大的贝塞尔曲线就可以解决这种情况:

    //给图片添加圆角
    UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:self.coverImageView.bounds byRoundingCorners:UIRectCornerTopRight | UIRectCornerTopLeft cornerRadii:CGSizeMake(8.0, 8.0)];
    CAShapeLayer *shapeLayer = [CAShapeLayer layer];
    shapeLayer.frame = self.coverImageView.bounds;
    shapeLayer.path = path.CGPath;
    self.coverImageView.layer.mask = shapeLayer;

主要代码就这些,是不是很方便呢?

ps:图中还有个阴影效果,下面我把阴影的设置代码贴出来,有兴趣的朋友可以借鉴一下,或者直接在留言区交流:

       self.containerView.layer.shadowColor = YGRGB(213, 204, 204,   1.0).CGColor;
       self.containerView.layer.shadowOffset = CGSizeMake(0, 4);
       self.containerView.layer.shadowOpacity = 0.8;
       self.containerView.layer.shouldRasterize = YES;
       self.containerView.layer.rasterizationScale = [UIScreen mainScreen].scale;
      self.containerView.layer.shouldRasterize = YES;
      self.containerView.layer.rasterizationScale = [UIScreen mainScreen].scale;

这两个设置可以避免离屏渲染带来的性能问题

相关文章

  • 通过遮罩的方式设置图片圆角

    给图片设置圆角通常情况下我们会直接设置imageView.layer.coreners,这是UIView自带的属性...

  • 视图遮罩的实现

    ios遮罩就是将原始图片或者视图通过遮罩的方式修改原有的显示,比如最简单的将方形图片显示成圆角图片,很多人会通过l...

  • Image

    直接圆角图片 设置圆角图片度数 设置圆角图片带灰色圆角边框 设置圆角图片带灰色圆角边框带阴影

  • Flutter知识点总结一

    一、设置图片的圆角 由于图片不能直接设置圆角,所以我们需要采用其它方式来设置: 1、使用ClipRRect进行设置...

  • Xib中设置控件的圆角、边框效果

    xib中为各种控件设置圆角 通过代码的方式设置 通过xib快速设置圆角利用User Defined Runtime...

  • 通过绘制上下文的方式绘制图片圆角

    //通过绘图的方式给图片设置圆角,而view的‘layer.cornerRadius’方法是离屏渲染,很消耗内存,...

  • 边框效果-css-v1.0.0

    半透边框 通过设置颜色的透明度实现。 框内圆角 方式1:为元素设置圆角,外层设置轮廓outline。圆角与直角之间...

  • UIView任意角圆角和圆角边框

    圆角原理:设置view.layer.mask该遮罩层。 圆角边框:在view.layer 上增加一层,绘制圆角边框...

  • 优化图片圆角CornerRadius设置

    a) 通常设置图片圆角有两种方式 1.代码设置 2.xib/storyboard设置 b) 优化方式 (采用绘图)...

  • iOS-UIImageView圆角设置

    iOS开发中图片圆角设置是最常见的需求,圆角符合人类视觉安全体验,让人感觉舒适,设置圆角也是非常简单,有五种方式来...

网友评论

    本文标题:通过遮罩的方式设置图片圆角

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