[swift] Swift Core Animation의 대칭 애니메이션 효과

Swift에서 Core Animation을 사용하면 다양한 애니메이션 효과를 구현할 수 있습니다. 이 중에서 대칭 애니메이션 효과를 적용해보겠습니다. 대칭 애니메이션은 뷰의 변화를 처음과 끝이 같은 형태로 반복하는 효과입니다.

먼저, 애니메이션을 적용할 뷰를 생성합니다. 다음 코드는 UIView를 생성하는 예시입니다.

let view = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
view.backgroundColor = .red

다음으로, 애니메이션 효과를 적용할 프로퍼티를 설정합니다. 이 예시에서는 view의 alpha 값을 변경하는 애니메이션을 적용해보겠습니다.

let animation = CABasicAnimation(keyPath: "opacity")
animation.fromValue = 1.0  // 시작 값
animation.toValue = 0.0    // 종료 값
animation.duration = 1.0   // 애니메이션의 지속 시간

CABasicAnimation으로 생성한 animation 객체는 애니메이션의 시작값(fromValue)과 종료값(toValue), 그리고 애니메이션의 지속 시간(duration)을 설정합니다.

다음으로, 애니메이션 효과를 반복할 수 있도록 설정합니다.

animation.repeatCount = .infinity   // 무한 반복
animation.autoreverses = true       // 역방향 애니메이션 적용

repeatCount.infinity를 할당하여 애니메이션을 무한히 반복하도록 설정합니다. autoreversestrue로 설정하면 역방향 애니메이션도 적용되어 첫번째 애니메이션이 종료되면 역방향으로 애니메이션이 반복됩니다.

마지막으로, 애니메이션을 실행합니다.

view.layer.add(animation, forKey: "opacityAnimation")

add(_:forKey:) 메서드를 사용하여 애니메이션을 뷰의 레이어에 추가합니다.

이제 대칭 애니메이션 효과가 적용된 뷰를 확인할 수 있습니다.

참고 자료