Почему 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"];
1 ответ
Добавьте эту строку перед вызовом addAnimation..
rotation.fillMode = kCAFillModeForwards;