我正在使用以下代码在x方向上将标签从一个位置移动到另一位置

CABasicAnimation *theAnimation;
    theAnimation=[CABasicAnimation animationWithKeyPath:@"transform.translation.x"];
    theAnimation.duration=1;
    theAnimation.repeatCount=1;
    theAnimation.autoreverses=NO;
    theAnimation.fromValue=[NSNumber numberWithFloat:0];
    theAnimation.toValue=[NSNumber numberWithFloat:80];


    [lbl.layer addAnimation:theAnimation forKey:@"animateLayer"];

但是在这种情况下,动画结束时,标签将移回其原始位置。如何确保其停留在其移动的位置。

有没有什么好的方法可以做到而无需使用计时器和自己更改坐标。

最佳答案

动画完成后,将其删除。这就是为什么它回弹的原因。将此添加到动画中:

theAnimation.removedOnCompletion = NO;
theAnimation.fillMode = kCAFillModeForwards;

这将防止动画被删除,并告诉动画在完成后保持其最终状态。

关于iphone - 如何在iPhone中使用CABasicAnimation在x方向上移动 View 或标签,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1555415/

10-12 03:37