대부분의 경우 동일한 코드 일 때 및 toValue
에 대해 CABasicAnimation
의 값을 다르게 설정하면됩니다.
+ (CABasicAnimation *)animFillColorWithDur:(CGFloat)dur
startCol:(UIColor *)start
endColor:(UIColor *)end
delegate:(id)target{
CABasicAnimation *animFill =
[CABasicAnimation animationWithKeyPath:@"fillColor"];
[animFill setDuration:dur];
[animFill setFromValue:(id)start.CGColor];
[animFill setToValue:(id)end.CGColor];
[animFill setRemovedOnCompletion:NO];
[animFill setDelegate:target];
[animFill setFillMode:kCAFillModeBoth];
return animFill;
}
(가) 단지 CAShapeLayer
에 추가 할 수있다 CABasicAnimation
을 반환하고 fillColor에 대한
StrokeEnd에 대한 애니메이션
+ (CABasicAnimation *)animStrokeEndWithDuration:(CGFloat)dur
delegate:(id)target{
CABasicAnimation *animLine =
[CABasicAnimation animationWithKeyPath:@"strokeEnd"];
[animLine setDuration:dur];
[animLine setFromValue:[NSNumber numberWithFloat:0.0f]];
[animLine setToValue:[NSNumber numberWithFloat:1.0f]];
[animLine setRemovedOnCompletion:NO];
[animLine setFillMode:kCAFillModeBoth];
[animLine setDelegate:target];
[animLine setTimingFunction:
[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
return animLine;
}
애니메이션 : 나는 나에게 CABasicAnimation
을 반환하는 카테고리를 만들었습니다 :
[_myShapeLayer addAnimation:returnedAnimation forKey:@"animKey"]
어떤 종류의 애니메이션을 염두에 두시겠습니까? 움직이는 스트로크? 아래에서 위로 또는 왼쪽에서 오른쪽으로 채우시겠습니까? 색이 바래 야? –