CASpringAnimation을 사용하여 CAShapeLayer 경로 애니메이션을 실험하고 있습니다. 예상되는 결과는 '탄력적 인'역할을하는 모양 사이의 '모핑'입니다.CAShapeLayer 경로 봄 애니메이션이 '오버 슛'하지 않습니다.
다음과 같이 원과 사각형 경로 사이에 기본적인 코드 예제가 있지만 최종 결과는 예상되는 동작 인 마지막 더 큰 정사각형 패스를 '지나치게'지나치지 않는 스프링 애니메이션입니다.
내 코드는 다음과 같습니다
let springAnimation = CASpringAnimation(keyPath: "path")
springAnimation.damping = 1
springAnimation.duration = springAnimation.settlingDuration
springAnimation.fromValue = standardCirclePath().cgPath
springAnimation.toValue = standardSquarePath().cgPath
circleLayer.add(springAnimation, forKey: nil) // Where circleLayer (red background) is a sublayer of a basic UIView in the frame (blue background)
내가 내 경로
from this answer 얻었다.
CAShapeLayer 경로 변환에 대해이를 달성하기위한 CASpringAnimation을 사용할 수 있습니까? 그렇지 않으면 대안은 무엇입니까?
알고있는 한, 'CASpringAnimation'은 경로 애니메이션 오버 슛이나 언더 슛에 사용할 수 없습니다. 이것은 중요한 문제는 아니며 Core Animation은 자동 경로 보간에 대한 정교한 지원을하지 않습니다. 이를 해결하기 위해 애니메이션에서 오버 슛과 언더 슛을 방지하기 위해 경로 키 프레임을 추가해야합니다. – LucasTizma