how to make a gradient border of UIView?

后端 未结 6 1124
遇见更好的自我
遇见更好的自我 2020-12-28 17:37

I want to make a gradient border of view like the following picture:

\"Image\"

but I don\'t know how d

6条回答
  •  我在风中等你
    2020-12-28 18:19

    You can make gradient border of view and corner radius(if you want) using this--

    self.yourView.layer.cornerRadius=4;
    
    self.yourView.layer.masksToBounds=YES;
    
    CAGradientLayer *gradient = [CAGradientLayer layer];
    
    gradient.frame = self.yourView.bounds;
    
    gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor colorWithRed:255/255.0 green:226/255.0 blue:138/255.0 alpha:1.0] CGColor], (id)[[UIColor colorWithRed:255/255.0 green:198/255.0 blue:91/255.0 alpha:0.9] CGColor],(id)[[UIColor colorWithRed:255/255.0 green:226/255.0 blue:138/255.0 alpha:1.0] CGColor], nil];
    
    gradient.startPoint = CGPointMake(0.0, 0.0);
    
    gradient.endPoint = CGPointMake(1, 1);
    
    CAShapeLayer *shapeLayer =[[CAShapeLayer alloc] init];
    
    shapeLayer.lineWidth = 15; // higher number higher border width
    
    shapeLayer.path = [UIBezierPath bezierPathWithRect:self.yourView.bounds].CGPath;
    
    shapeLayer.fillColor = nil;
    
    shapeLayer.strokeColor = [UIColor blackColor].CGColor;
    
    gradient.mask = shapeLayer;
    
    [self.yourView.layer insertSublayer:gradient atIndex:0];
    

    this will help you! Thanks

提交回复
热议问题