У меня есть CAShapeLayer
, который масштабируется до неизвестного номера шкалы:
myCAShapeLayer.transform = CATransform3DMakeScale(newScale, newScale, 1)
Затем в определенный момент я должен запустить CABasicAnimation
от текущего масштаба до 1:
let animation1 = CABasicAnimation(keyPath: "transform.scale")
animation1.fromValue = myCAShapeLayer.value(forKeyPath: "transform.scale") as! CGFloat
animation1.toValue = 1.0
animation1.duration = 0.5
myCAShapeLayer.add(animation1, forKey: nil)
когда я регистрирую myCAShapeLayer.value(forKeyPath: "transform.scale") as! CGFloat
после каждого CATransform3DMakeScale
, оно всегда равно 1,0, хотя визуально слой масштабируется.
Я также пытался myCAShapeLayer.presentation()?.value(forKeyPath: "transform.scale") as! CGFloat
, а также 1,0