美文网首页
设置渐变色的border

设置渐变色的border

作者: 王欣12138 | 来源:发表于2019-08-20 11:53 被阅读0次
- (void)userIconSetBorder {
    UIImageView *gCircle = [[UIImageView alloc] initWithFrame:CGRectMake(0, self.iconBtn.centerY, 95, 95)];
    gCircle.image = [UIImage imageNamed:@"bgheadview"];
    [self.view addSubview:gCircle];
    gCircle.centerY = self.iconBtn.centerY +kNavHeight -20;
    gCircle.centerX = kLastWindow.centerX;
    CGFloat lineWidth = 1;
    CAShapeLayer *wavelinelayer = [self generateShapeLayerWithLineWidth:lineWidth];
    CGPoint center = CGPointMake(gCircle.width/2, gCircle.height/2);
    CGFloat radius= 45;
    UIBezierPath *circlePath = [self generateBezierPathWithCenter:center radius:radius];
    wavelinelayer.path = circlePath.CGPath;
    gCircle.layer.mask = wavelinelayer;
}

- (CAShapeLayer *)generateShapeLayerWithLineWidth:(CGFloat)lineWidth {
    CAShapeLayer *waveline = [CAShapeLayer layer];
    waveline.lineCap = kCALineCapButt;
    waveline.lineJoin = kCALineJoinRound;
    waveline.strokeColor = [UIColor redColor].CGColor;
    waveline.fillColor = [[UIColor clearColor] CGColor];
    waveline.lineWidth = lineWidth;
    waveline.backgroundColor = [UIColor clearColor].CGColor;
    return waveline;
}

- (UIBezierPath *)generateBezierPathWithCenter:(CGPoint)center radius:(CGFloat)radius {
    UIBezierPath *circlePath = [UIBezierPath bezierPathWithArcCenter:center radius:radius startAngle:0 endAngle:2 *M_PI clockwise:NO];
    return circlePath;
}

相关文章

网友评论

      本文标题:设置渐变色的border

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