0

keyframeAnimation을 가지고 있는데 패스를 정의했지만 애니메이션이 작동하지 않습니다.경로가 CGPathAddArcToPoint 인 CAKeyframeAnimation이 작동하지 않습니다.

잘못된 것이 있습니까? : 여기

S

코드는 다음과 같습니다

CAKeyframeAnimation *animKF = [CAKeyframeAnimation animationWithKeyPath:@"position"]; 

CGMutablePathRef animationPath = CGPathCreateMutable(); 

CGPathMoveToPoint(animationPath, NULL, 300, 100); 

CGPathAddArcToPoint(animationPath, NULL, 300, 100, 800, 500, 500); 

animKF.path = animationPath; 

animKF.duration = 3; 

animKF.rotationMode = kCAAnimationRotateAuto; 

[imageView.layer addAnimation:animKF forKey:@"keyframe"]; 

당신에게 너무 감사

+0

"작동하지 않음"이란 무엇을 의미합니까? 무슨 일 이니? 아무것도 아니거나 잘못된 것? –

+0

또한, CGPathRelease (animationPath);를 사용하여 animationPath를 할당하면 애니메이션 경로를 해제해야합니다. –

답변

0

당신은 CGPathMoveToPoint() 실제로 "이동"점, 죄송합니다 그런 경우가 아니다 방법이라고 생각할 수 있습니다. 당신이 의도 한 것은 "경로"속성을 움직이는 것입니다. 그러므로 CGMutablePathRef 개체를 keyframe으로 여러 개 만들어야합니다. 그런 다음

[animKF setValues: @[path1,path2,path3]];