Я немного борюсь с этой простой анимацией линии. Я понял, как его приостановить, но мне нужно, чтобы вернуть анимацию обратно в исходную точку с момента вызова функции resetAnimation().CABasicAnimation reverse (назад)
let pathAnimation = CABasicAnimation(keyPath: "strokeEnd")
let pathLayer = CAShapeLayer()
func lineAnimation() {
let path = UIBezierPath()
let screenWidth = self.view.bounds.width
let screenHeight = self.view.bounds.height
path.moveToPoint(CGPointMake(screenWidth, screenHeight/2))
path.addLineToPoint(CGPointMake(screenWidth - screenWidth, screenHeight/2))
self.pathLayer.frame = self.view.bounds
self.pathLayer.path = path.CGPath
self.pathLayer.strokeColor = UIColor.whiteColor().CGColor
self.pathLayer.fillColor = nil
self.pathLayer.lineWidth = 3.0
self.pathLayer.lineCap = kCALineCapRound
self.pathLayer.speed = 1
self.view.layer.addSublayer(pathLayer)
self.pathAnimation.duration = 5.0
self.pathAnimation.fromValue = 0.0
self.pathAnimation.toValue = 1.0
pathLayer.addAnimation(pathAnimation, forKey: "animate")
}
func pauseAnimation() {
let pausedTime = pathLayer.convertTime(CACurrentMediaTime(), fromLayer: nil)
pathLayer.speed = 0
pathLayer.timeOffset = pausedTime
}
func resetAnimation() {
}
Чтобы вернуться в обратную сторону с определенной скоростью или просто полностью вернуться к первоначальным настройкам в режиме «Вкл.»? –
Чтобы идти в обратном направлении с определенной скоростью –