Почему CAAnimation Rotation возвращается в предыдущее состояние - PullRequest
0 голосов
/ 14 мая 2010

Я использую CAKeyFrameAnimation для поворота изображения стрелки.

Проблема в том, что после анимации изображение снова возвращается в прежнее состояние.

Код:

CAKeyframeAnimation *rotation = [CAKeyframeAnimation animation]; rotation.duration = 0.55; rotation.cumulative = TRUE; rotation.removedOnCompletion = NO; if (isFlipRight) { rotation.values = [NSArray arrayWithObjects: [NSValue valueWithCATransform3D:CATransform3DMakeRotation(0.0, 0.0f, 1.0f, 0.0f)], [NSValue valueWithCATransform3D:CATransform3DMakeRotation(M_PI, 0.0f, 1.0f, 0.0f)],nil];</p> <p>} else { rotation.values = [NSArray arrayWithObjects: [NSValue valueWithCATransform3D:CATransform3DMakeRotation(M_PI, 0.0f, 1.0f, 0.0f)], [NSValue valueWithCATransform3D:CATransform3DMakeRotation(0.0, 0.0f, 1.0f, 0.0f)],nil];</p> <p>}</p> <p>[[arrowImageView layer] addAnimation:rotation forKey:@"transform"];

1 Ответ

1 голос
/ 25 августа 2010

Добавьте эту строку перед вызовом addAnimation ..

rotation.fillMode = kCAFillModeForwards;
...