2014-07-22 2 views
0

코어 애니메이션 문서가 충분히 단순 해 보이지만 아직 누락 된 부분을 파악할 수 없습니다. 간단한 CABasicAnimation을 사용하여 애니메이션을 적용하고자하는 CAShapeLayer가 있습니다. CAShapeLayer에서 CABasicAnimation이 애니메이션으로 적용되지 않습니다.

는 그래서 같은 CAShapeLayer 구축 :

{ 
CGRect rect = CGRectMake(focal.x, focal.y, (self.radius * 2), (self.radius * 2)); 

self.touchCircle = [CAShapeLayer layer]; 
[self.touchCircle setPath:[[UIBezierPath bezierPathWithOvalInRect:rect] CGPath]]; 
[self.touchCircle setFrame:rect]; 
[self.touchCircle setLineWidth:self.stroke]; 
[self.touchCircle setPosition:focal]; 

[self focalColorOfPoint:focal]; 

[self.layer addSublayer:self.touchCircle]; 
} 

및 애니메이션을 시도 :

CABasicAnimation *radiusScale = [CABasicAnimation animationWithKeyPath:@"size"]; 

[radiusScale setFromValue:[NSValue valueWithCGSize:CGSizeMake(self.mRadius, self.mRadius)]]; 
[radiusScale setToValue:[NSValue valueWithCGSize:CGSizeMake(self.radius, self.radius)]]; 
[radiusScale setDuration:0.3f]; 

[self.touchCircle addAnimation:radiusScale forKey:@"touchCircleRadiusScaleUp"]; 

어떤 제안? 미리 감사드립니다!

+0

는 "크기"당신의 사용자 정의 animateble 속성입니다 애니메이션? –

+0

아니요, 여기에서 찾은 키 - 값 경로 목록으로 지정됩니다. https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreAnimation_guide/Key-ValueCodingExtensions/Key-ValueCodingExtensions.html#//apple_ref/doc/uid/TP40004514-CH12-SW2 – achi

+0

설명서를 잘못 읽은 것 같습니다. 정확한 키 패스는'@ "bounds.size"' –

답변

1

는 animationWithKeyPath를 사용해보십시오 : @ "변화"와

.toValue=[NSValue valueWithCATransform3D:CATransform3DMakeScale(scaleX, scaleY, scaleZ)]; 
관련 문제