Ios CABasicAnimation将起始点更改为前进和后退

Ios CABasicAnimation将起始点更改为前进和后退,ios,core-animation,Ios,Core Animation,我正在尝试制作一个小的ui控制动画(如本文所述),并在旋转后继续此动画。由于自动布局的问题,我必须删除和添加整个层的自动旋转 到目前为止,这是可行的。我的问题是,当我想从它停止的相同位置继续动画时,它不会在它旋转时的状态之前移动 e、 g.滑块处于0.5。再次添加动画(由于删除),我已将timeOffset设置为0.5。动画将前进,但不会后退 我通过以下方式创建动画: let animatePhase = CABasicAnimation(keyPath: "lineDashPhase") an

我正在尝试制作一个小的ui控制动画(如本文所述),并在旋转后继续此动画。由于自动布局的问题,我必须删除和添加整个层的自动旋转

到目前为止,这是可行的。我的问题是,当我想从它停止的相同位置继续动画时,它不会在它旋转时的状态之前移动

e、 g.滑块处于0.5。再次添加动画(由于删除),我已将
timeOffset
设置为0.5。动画将前进,但不会后退

我通过以下方式创建动画:

let animatePhase = CABasicAnimation(keyPath: "lineDashPhase")
animatePhase.byValue = phaseLength
animatePhase.duration = 1.0
animatePhase.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionLinear)
animatePhase.repeatCount = Float.infinity

lineLayer.addAnimation(animatePhase, forKey: "marching ants")
lineLayer.speed = 0.0
lineLayer.timeOffset = 0.0;
lineLayer.beginTime = 0.0;
lineLayer是一个CAShapeLayer

在“layoutSubviews”中,我删除并重新创建图层

我做错了什么


谢谢

重新添加时,layers属性的当前值是多少?动画的to和from值(或by value)是如何配置的?我已经添加了创建代码。你所说的现值是什么意思?时间偏移?