2

I have attached image these are shapes with different color just want to make every shape in circle gradientI am trying to add gradient on ca shape layer its only giving gradient effect on current view frame if i am using it by adding masklayer it is not effecting on every layer seperately

here is my code:

 CAShapeLayer *gradientMask = [CAShapeLayer layer];
    gradientMask.fillColor = [[UIColor clearColor] CGColor];
    gradientMask.strokeColor = [[UIColor blackColor] CGColor];
    gradientMask.lineWidth = _borderStrokeWidth;
    gradientMask.frame = CGRectMake(0, 0, self.bounds.size.width, self.bounds.size.height);

    gradientMask.path = maskLayer.path;


    CAGradientLayer *gradientLayer = [CAGradientLayer layer];
    gradientLayer.locations = [NSArray arrayWithObjects:
                               [NSNumber numberWithFloat:0.8f],
                               [NSNumber numberWithFloat:1.0f],
                               nil];
    gradientLayer.startPoint = CGPointMake(0.5,1.0);
    gradientLayer.endPoint = CGPointMake(1.0,0.5);
    gradientLayer.frame = CGRectMake(0, 0, self.bounds.size.width, self.bounds.size.height);
     NSArray *colors = [NSArray arrayWithObjects:(id)[UIColor redColor].CGColor, (id)[UIColor greenColor].CGColor,(id)[UIColor blueColor].CGColor,(id)[UIColor yellowColor].CGColor, nil];
    gradientLayer.colors = colors;

    [gradientLayer setMask:gradientMask];
   // [gradientLayer setMask:shapeLayer];
    [self.layer addSublayer:gradientLayer];

kindly give suggestions

rmaddy
  • 314,917
  • 42
  • 532
  • 579

0 Answers0