Я изучаю CAAnimation и найду одну вещь, которую не понимаю.
Создайте анимацию trnsform с помощью CABasicAnimation 1 case:
private func transfAnim() {
let startValue = iv.layer.transform
let endValue = CATransform3DTranslate(startValue, 50, 200, 0)
CATransaction.setDisableActions(true)
iv.layer.transform = endValue
let anim = CABasicAnimation(keyPath: #keyPath(CALayer.transform))
anim.duration = 2
anim.timingFunction = CAMediaTimingFunction(name: .easeOut)
anim.byValue = CATransform3DMakeTranslation(100, 0, 0)
iv.layer.add(anim, forKey: nil)
}
В начале анимация переходит на место endValue и затем начинает перевод=> 100 затем снова перейти на место endValue
2 case:
private func transfAnim2() {
let startValue = iv.layer.transform
let endValue = CATransform3DTranslate(startValue, 50, 200, 0)
CATransaction.setDisableActions(true)
iv.layer.transform = endValue
let anim = CABasicAnimation(keyPath: #keyPath(CALayer.transform))
anim.valueFunction = CAValueFunction(name: .translateX)
anim.duration = 2
anim.byValue = 100
iv.layer.add(anim, forKey: nil)
}
В начале анимации начать перевод => 100 и после этого перейти на место endValue
iсм. Distiction в anim.valueFunction = CAValueFunction (name: .translateX) Но почему у нас такое поведение?Спасибо за продвинутый