title: Gradient color effect on CAShapeLayer
body: <p>I'm trying to apply gradient colors on CAShapeLayer. For that i write code,</p>
  
  <pre><code>-(void)addCircle{
  {
      // Drawing code
      UIBezierPath *aPath = [UIBezierPath bezierPathWithArcCenter:CGPointMake(150, 150)
                                                           radius:125
                                                       startAngle:0
                                                         endAngle:DEGREES_TO_RADIANS(180)
                                                        clockwise:NO];
  
  
      CAShapeLayer *shapeLayer = [[CAShapeLayer alloc] init];
      [shapeLayer setFrame: self.frame];
      [shapeLayer setPath: [aPath CGPath]];
      shapeLayer.lineWidth = 30.0f;
      [shapeLayer setStrokeColor:[[UIColor redColor] CGColor]];
      shapeLayer.fillColor = [[UIColor clearColor] CGColor];
      [shapeLayer setMasksToBounds:YES];
  
  
      CAGradientLayer *gradientLayer = [CAGradientLayer layer];
      gradientLayer.startPoint = CGPointMake(0.5,1.0);
      gradientLayer.endPoint = CGPointMake(0.5,0.0);
      gradientLayer.frame = CGRectMake(0, 0, self.bounds.size.width, self.bounds.size.height);
      NSMutableArray *colors = [NSMutableArray array];
      for (int i = 0; i &lt; 10; i++) {
          [colors addObject:(id)[[UIColor colorWithHue:(0.1 * i) saturation:1 brightness:.8 alpha:1] CGColor]];
      }
      gradientLayer.colors = colors;
      [gradientLayer setMask:shapeLayer];
  
      [self.layer addSublayer:shapeLayer];
  }
  </code></pre>
  
  <p>But i got without gradient color output like this,
  <img src="https://i.stack.imgur.com/W6A8B.png" alt="enter image description here"></p>
  
  <p>I want the final output like this, 
  <img src="https://i.stack.imgur.com/WUztB.png" alt="enter image description here"></p>
  
  <p>But my primarily goal is apply gradient effects on CAShapeLayer. Where i'm wrong in my given code stuff? </p>