CAKeyframeAnimation со сборкой пути с помощью CGPathAddArcToPoint не работает

У меня есть keyframeAnimation, и я определяю путь, но анимация не работает.

Вы видите что-то не так? :С

Вот код:

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"];

Большое спасибо


person torhector2    schedule 04.12.2012    source источник
comment
Что вы имеете в виду под не работает? Что случилось? Ничего или что-то не так?   -  person David Rönnqvist    schedule 04.12.2012
comment
Кроме того, не забудьте освободить animationPath с помощью CGPathRelease(animationPath); после того, как вы назначили его анимации.   -  person David Rönnqvist    schedule 04.12.2012


Ответы (1)


Вы можете подумать, что CGPathMoveToPoint() — это метод, который на самом деле «перемещает» точку, но это не так. Я предполагаю, что вы намеревались анимировать свойство «путь». Следовательно, вы должны создать несколько (в вашем случае 3) объектов CGMutablePathRef как keyframe. Тогда позвони

[animKF setValues: @[path1,path2,path3]];
person Philip007    schedule 03.03.2013