iPhone에서 사용자 정의 그려진 CALayer의 회전을 어떻게 멈 춥니 까? 코어 애니메이션 회전을 부드럽게 멈추기
이
CATransform3D pausetransform = ((CALayer *)[layer presentationLayer]).transform;
[layer removeAllAnimations];
layer.transform = pausetransform;
바로 다음에, 애니메이션을 정지 층 위로 약간 회전한다. 아마도 pausetransform 값을 설정 한 후에 애니메이션이 잠깐 동안 계속되기 때문일 것입니다.
애니메이션의 대리자 메서드의 layer.transform 값을 설정하면 애니메이션의 시작 위치에 해당 레이어가 올바른 위치로 회전하기 전에 해당 레이어가 잠시 표시됩니다.
CABasicAnimation을 사용하여 한 번 360 ° 회전시킵니다. removeAllAnimations 또는 removeAnimationForKey를 사용하여 애니메이션을 제거하면 레이어가 layer.transform의 회전으로 돌아갑니다. 그러나 애니메이션이 멈추는 순간에 레이어의 회전을 얻는 방법을 찾을 수 없습니다. 애니메이션이 멈추는 정확한 순간에 레이어의 회전을 설정할 수도 없습니다. 전 또는 직후에 바로 그 작업을 수행 할 수 있습니다. 둘 다 그래픽 결함이 발생합니다. CAAnimation의 다른 하위 클래스가 더 잘 처리됩니까? – kareman