title: How to change the color of CALayer during animation?
body: <p>I want the layer to start from green, then slowly to yellow, orange and finally red. How do I do this?</p>
  
  <pre><code>CAShapeLayer *layer = [CAShapeLayer layer];
  [layer setStrokeColor:[UIColor greenColor].CGColor];
  [layer setLineWidth:5.0f];
  [layer setFillColor:[UIColor clearColor].CGColor];
  
  UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:button.bounds cornerRadius:10.0f];
  layer.path = path.CGPath;
  
  CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];
  animation.fromValue = [NSNumber numberWithFloat:0.0f];
  animation.toValue = [NSNumber numberWithFloat:1.0f];
  animation.duration = 4.0f;
  
  [layer addAnimation:animation forKey:@"myStroke"];
  [button.layer addSublayer:layer];
  </code></pre>