가로로보기에는 좋아 보이는 CAKeyframeAnimation이 있지만 기기가 회전하면 애니메이션의 나머지 부분과 비교할 때 흔들리는 것은 아닙니다. 진행중인 애니메이션의 경로를 조정 (스케일) 할 수있는 방법이 있습니까?CoreAnimation 및 기기 회전
편집 : 추가 코드
let circle = CAShapeLayer()
circle.path = UIBezierPath(roundedRect: CGRect(x: -60.0, y: -60.0, width: 100.0, height: 100.0), cornerRadius: 50.0).cgPath
circle.fillColor = UIColor.clear.cgColor
circle.strokeColor = UIColor.blue.cgColor
let animation = CAKeyframeAnimation(keyPath: "position")
animation.duration = (path["endTime"] as! Double) - (path["startTime"] as! Double)
animation.repeatCount = 0
animation.path = (path as! UIBezierPath).cgPath
animation.calculationMode = kCAAnimationPaced
animation.fillMode = kCAFillModeForwards
animation.isRemovedOnCompletion = false
circle.add(animation, forKey: "position")
self.view.layer.insertSublayer(circle, at: 5)
문제가 UIBezierPath이 (앱에서 모두 지원) 세로 또는 가로 중 하나에 정의되어 있으므로이 생성 된 것을 같은 방향에서 재생이 아무런 문제가되지 않도록, 그러나 장치를 회전 시키면 UIBezierPath로 정의 된 애니메이션이 새로운 방향으로 업데이트되어야합니다. 애니메이션을 적용하는 동안 CAKeyframeAnimation 경로를 새 좌표계로 업데이트하는 방법을 찾고 있습니다.
우리에게 보여줄 코드가 있습니까? – dfd
그래서 사용자가 애니메이션을 회전 시켰기 때문에 애니메이션을 변경하는 _ 동안 애니메이션을 변경하고 싶다고 말하고 있습니까? – matt
정확히! 좌표계가 변경되기 때문에 경로를 업데이트해야합니다. 나는 그것을하는 방법을 모르겠다. – Chris