Por que o CAAnimation Rotation está retornando ao estado anterior

Estou usando CAKeyFrameAnimation para fazer a rotação de uma imagem de seta.

O problema é que a visualização de imagem está retornando ao estado anterior após a animação.

Código:

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

}

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

questionAnswers(1)

yourAnswerToTheQuestion