2014-09-02 4 views
0

Я использую следующий код, чтобы нарисовать график:CAShapeLayer анимация цвета вопрос

- (void) drawCircleGraphWithPercentage:(CGFloat)percentage 
{ 


    self.circle = [[CAShapeLayer alloc] init]; 
    self.circle.strokeColor = [UIColor whiteColor].CGColor; 
    self.circle.backgroundColor = [AESColorUtilities mdvdYellow].CGColor; 

    self.circle.lineWidth = 30.0; 

    // Make a circular shape 
    self.circle.path = self.circlePath.CGPath; 


    // Add to parent layer 
    [self.contentView.layer addSublayer:self.circle]; 
    [self.contentView bringSubviewToFront:self.percentageLabel]; 

    // Configure animation 
    CABasicAnimation* drawAnimation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"]; 
    drawAnimation.duration   = 1.0; // "animate over 10 seconds or so.." 
    drawAnimation.repeatCount   = 1.0; // Animate only once.. 

    // Animate from no part of the stroke being drawn to the entire stroke being drawn 
    drawAnimation.fromValue = [NSNumber numberWithFloat:0.0f]; 
    drawAnimation.toValue = [NSNumber numberWithFloat:1.0f]; 

    // Experiment with timing to get the appearence to look the way you want 
    drawAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]; 

    // Add the animation to the circle 
    [self.circle addAnimation:drawAnimation forKey:@"drawCircleAnimation"]; 
} 

Проблема, которую я имею, что есть черная форма из слоя вызывают цвета, чтобы быть выключено:

enter image description here

Как сделать так, чтобы фон был желтым «mdvdYellow» без черных позади него?

Заранее спасибо.

ответ

2

Вы должны удалить fillColor из слоя формы, так как по умолчанию непрозрачный черный.

fillColor до nil Результаты не отображаются.

self.circle.fillColor = nil; 
Смежные вопросы