我正在尝试制作一个小的ui控制动画(如此answer中所述)并在旋转后继续播放此动画。由于自动布局问题,我必须删除并在autorotate上添加整个图层。
到目前为止这是有效的。我的问题是,因为我想从它停止的相同位置继续动画,它不会在它旋转的那一刻之前的任何地方去。
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'上,我删除并重新创建图层。
我做错了什么?
由于