2010-05-23 7 views
4

핵심 애니메이션에는 일종의 애니메이션 그룹화 메커니즘이 있다는 것을 알고 있습니다. 그래서 두 개의 CABasicAnimation firstAnimationsecondAnimation이 있다고 가정 해 보겠습니다. 어떻게 그룹화하고 애니메이션으로 시작하려면 그룹을 시작할 수 있습니까?두 개의 CABasicAnimation 애니메이션을 그룹화하고 동시에 같은 시간에 애니메이션을 재생하는 방법은 무엇입니까?

답변

6

CAAnimationGroup 클래스를 사용하려고합니다. 원하는 애니메이션이 포함 된 배열을 만들고 해당 배열에 AnimationGroup의 animations 속성을 설정합니다. CAAnimationGroup은 CAAnimation의 하위 클래스이므로 일반 애니메이션처럼 [layer addAnimation:forKey:]을 사용하여 레이어에 추가 할 수 있습니다. 레이어에 추가되면 그룹의 모든 애니메이션이 동시에 실행됩니다.

먼저 CAAnimationGroup Reference을 읽는 것이 좋습니다. 사용하기 전에 이해할만한 많은 구현 세부 사항이 있습니다. 예 :

  1. delegate 개별 애니메이션의 속성은 무시됩니다.
  2. 개별 애니메이션의 removeOnCompletion 속성은 무시됩니다.
  3. AnimationGroup에는 고유 한 delegateremoveOnCompletion 속성이 있습니다.
  4. 애니메이션은 그룹에 타임 스케일링되지 않으므로 개별 애니메이션의 길이가 그룹 오브젝트의 지속 시간보다 길면 그룹 지속 시간의 끝에서 중단됩니다.
  5. CAAnimationGroup의 animations 속성이 복사되지 않고 그대로 유지됩니다.
관련 문제