CGPathAddEllipseInRect
을 사용하여 원을 그리고 CAKeyframeAnimation에서 그 원을 그립니다. 내 문제는 애니메이션이 항상 같은 지점에서 시작된다는 것입니다.CGPathAddEllipseInRect의 변형 속성
CGAffineTransform temp = CGAffineTransformMakeRotation(M_PI/2);
CGPathAddEllipseInRect(animationPath , &temp, rect);
나는 이것이 무엇을하고 있는지 모른다 : 나는 그것을 다른 지점에서 시작 만들기 위해 CGAffineTransform로 다음을 수행 할 수 있다고 생각했다. 그것이 실행될 때 나는 애니메이션의이 부분을 보지 못한다. 그것은 화면 밖에서 뭔가를하고 있습니다. 이것을 이해하는 데 도움이 될 것입니다.
위대한 답변 -하지만 당신은 그것을 좀 더 설명 할 수 있습니다. 원점을 말할 때, CGPathAddEllipseInRect를 전달하는 것은 rect의 원점이라고 가정합니다. 그러나 그러한 경우라면 여전히 화면에 표시되어야합니다. 이는 일어나지 않습니다. 그것이 화면의 원점이라면, 화면의 아래쪽 모서리에 4 분의 1 회전이 있음을 알 수 있다고 가정합니다. 내가이 중 하나를 호출 할 때 rect를 기록하면 {{633.066, 600.916}, {40, 40}}입니다. 레이어가 무작위로 배치되어 코디가 재미있어 보일 수 있습니다. – Brian
또한 번역에서 코드에서 수행하는 작업을 설명 할 수 있습니까? – Brian
나는 나의 대답에 몇 가지 추가적인 설명과 시각화를 추가했다. 희망이 도움이됩니다. – omz