如何永久地将CALayer旋转到最终位置?

时间:2011-01-10 02:25:54

标签: cocoa calayer caanimation cabasicanimation

我正在尝试将CALayer旋转到特定角度,但是一旦动画完成,图层就会跳回原来的位置。如何正确旋转图层以使其保持在最终目的地?

以下是我正在使用的代码

CABasicAnimation *rotationAnimation =[CABasicAnimation animationWithKeyPath:@"transform.rotation.z"]; //Rotate about z-axis
[rotationAnimation setFromValue:[NSNumber numberWithFloat:fromDegree]];
[rotationAnimation setToValue:[NSNumber numberWithFloat:toDegree]];
[rotationAnimation setDuration:0.2];
[rotationAnimation setRemovedOnCompletion:YES];
[rotationAnimation setFillMode:kCAFillModeForwards];

有什么建议吗?谢谢。

2 个答案:

答案 0 :(得分:2)

好的我通过将removeOnCompletion设置为NO来修复它。

[rotationAnimation setRemovedOnCompletion:NO];

答案 1 :(得分:2)

您正在添加动画,但您没有修改实际的基础属性。创建动画后,只需将图层的transform属性设置为包含相同的最终结果。