美文网首页
使用CALayer的mask属性来设置图片圆角

使用CALayer的mask属性来设置图片圆角

作者: starfox寒流 | 来源:发表于2015-10-13 13:22 被阅读566次

    直接上代码:

    @property (weak, nonatomic) IBOutlet UIImageView *userHead;
    @property (nonatomic,strong) CAShapeLayer * userMaskLayer;

    self.userHead.layer.mask = [self userHeaderMask:self.userHead];

    • (CALayer *)userHeaderMask:(UIView *)originalView{
      CALayer * userMask = [CALayer layer];
      userMask.frame = originalView.bounds;

      CGFloat x = originalView.frame.size.width/2;
      CGFloat y = originalView.frame.size.height/2;

      self.userMaskLayer = [CAShapeLayer layer];
      self.userMaskLayer.bounds = originalView.bounds;
      self.userMaskLayer.path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(x, y) radius:50 startAngle:0 endAngle:2*M_PI clockwise:YES].CGPath;
      self.userMaskLayer.position = CGPointMake(50, 50);
      [userMask addSublayer:self.userMaskLayer];

      return userMask;
      }

    原理:通过设置UIImageView的layer的mask属性。

    一般我们都是用
    self.userHead.layer.cornerRadius = 50;
    self.userHead.layer.masksToBounds = YES;
    这种方法来设置图片圆角,这样是改变了view的layer属性。

    相关文章

      网友评论

          本文标题:使用CALayer的mask属性来设置图片圆角

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