[swift] CoreAnimation 애니메이션 반복
CoreAnimation은 iOS 및 macOS 개발에서 화면 요소에 애니메이션을 적용할 때 자주 사용됩니다. 특히, 애니메이션을 반복하려는 경우, CAMediaTiming
프로토콜을 사용하여 CoreAnimation 레이어의 시간 관련 속성을 구성해야 합니다.
1. repeatCount
속성 사용
repeatCount
속성은 애니메이션의 반복 횟수를 설정하는 데 사용됩니다. 이 속성의 값으로 Float
타입을 사용하며, 0을 지정하면 애니메이션이 실행되지 않습니다. Float.infinity
를 사용하면 무한 반복됩니다.
다음은 repeatCount
를 사용하여 3번 반복되는 애니메이션을 생성하는 예제 코드입니다.
let animation = CABasicAnimation(keyPath: "position.x")
animation.fromValue = 0
animation.toValue = 100
animation.duration = 1.0
animation.repeatCount = 3
yourLayer.add(animation, forKey: "positionAnimation")
2. autoreverses
속성 사용
autoreverses
속성은 애니메이션이 반복될 때 다시 반대 방향으로 애니메이션되는지 여부를 설정하는 데 사용됩니다. 이 속성의 기본값은 false
입니다.
다음은 autoreverses
를 사용하여 애니메이션이 반복될 때마다 반대 방향으로 애니메이션되는 예제 코드입니다.
let animation = CABasicAnimation(keyPath: "position.x")
animation.fromValue = 0
animation.toValue = 100
animation.duration = 1.0
animation.repeatCount = Float.infinity
animation.autoreverses = true
yourLayer.add(animation, forKey: "positionAnimation")
결론
CoreAnimation을 사용하여 레이어의 애니메이션을 반복하려면 repeatCount
및 autoreverses
와 같은 시간 관련 속성을 활용하면 됩니다. 이를 통해 원하는 애니메이션 효과를 쉽게 구현할 수 있습니다.
더 자세한 정보는 Core Animation Programming Guide를 참조하십시오.