0
下面的問題是給縮放動畫的持續時間會覆蓋旋轉動畫。同時動畫不同持續時間的圖層變換的旋轉和縮放比例
是否有其他方法可以同時爲CALayer的縮放和旋轉設置不同的持續時間?
// Animate arrowhead rotation
CATransaction.begin()
CATransaction.setAnimationDuration(0.2)
CATransaction.setAnimationTimingFunction(CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseOut))
let arrowAngle = atan2(path.currentPoint.y - previousPoint.y,
path.currentPoint.x - previousPoint.x) + (.pi * 0.5)
let rotationZ = CATransform3DRotate(CATransform3DIdentity, arrowAngle, 0, 0, 1)
arrowhead.transform = rotationZ
CATransaction.commit()
// Animate arrowhead scale
CATransaction.begin()
CATransaction.setAnimationDuration(1.5)
CATransaction.setAnimationTimingFunction(CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut))
arrowhead.transform = CATransform3DConcat(rotationZ, arrowheadTransformScale)
CATransaction.commit()
@馬特有什麼辦法來實現動畫圖層的縮放和旋轉不同持續時間? – dxb
@matt我也試圖用這種技術'arrowhead.setValue(arrowAngle,forKeyPath:「transform.rotation.z」)來轉換特定的轉換方面' – dxb
@matt不需要整個動畫使用'kCAMediaTimingFunctionLinear' ? – dxb