Почему CAAnimation Rotation возвращается в предыдущее состояние

Я использую 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];

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

}

[[arrowImageView layer] addAnimation:rotation forKey:@"transform"];


person user334081    schedule 14.05.2010    source источник


Ответы (1)


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

rotation.fillMode = kCAFillModeForwards;
person ravinsp    schedule 25.08.2010
comment
Спасибо - искал это все утро! - person SomaMan; 28.05.2011