[swift] 이미지 슬라이드쇼에서 이미지 회전 효과 추가하기

이미지 슬라이드쇼를 개발하다보면 단순히 이미지를 왼쪽이나 오른쪽으로 이동시키는 것 이외에 다양한 효과를 추가하고 싶을 때가 있습니다. 이번에는 이미지 슬라이드쇼에 이미지 회전 효과를 추가하는 방법에 대해 알아보겠습니다.

이미지 회전 효과 구현하기

  1. 먼저 UIImageView를 사용하여 이미지를 화면에 표시합니다. UIImageView 인스턴스를 만들고 이미지를 할당하는 코드를 작성합니다.
let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
imageView.image = UIImage(named: "image_name")
  1. 회전 애니메이션을 추가하기 위해 CABasicAnimation 클래스를 사용합니다. CABasicAnimation 인스턴스를 생성하고, 회전할 각도와 지속시간, 반복 횟수 등을 설정합니다.
let rotationAnimation = CABasicAnimation(keyPath: "transform.rotation.z")
rotationAnimation.toValue = NSNumber(value: Double.pi * 2) // 360도 회전
rotationAnimation.duration = 2.0
rotationAnimation.repeatCount = Float.infinity // 무한 반복
  1. 회전 애니메이션을 이미지뷰에 적용합니다. imageView.layer를 통해 이미지뷰의 레이어에 접근하여, add(_:forKey:) 메서드를 사용하여 애니메이션을 추가합니다.
imageView.layer.add(rotationAnimation, forKey: "rotationAnimation")
  1. 이미지뷰를 화면에 추가합니다.
view.addSubview(imageView)
  1. 이미지 회전 효과를 원하는 대상에게 애니메이션을 적용합니다.
imageView.layer.add(rotationAnimation, forKey: "rotationAnimation")

전체 코드

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
        imageView.image = UIImage(named: "image_name")

        let rotationAnimation = CABasicAnimation(keyPath: "transform.rotation.z")
        rotationAnimation.toValue = NSNumber(value: Double.pi * 2)
        rotationAnimation.duration = 2.0
        rotationAnimation.repeatCount = Float.infinity

        imageView.layer.add(rotationAnimation, forKey: "rotationAnimation")
        view.addSubview(imageView)
    }
}

결론

위와 같이 UIImageViewCABasicAnimation 클래스를 사용하여 이미지 슬라이드쇼에 이미지 회전 효과를 추가할 수 있습니다. 이미지 회전 효과를 사용하면 슬라이드쇼가 더욱 생동감 있고 멋진 인상을 남길 수 있습니다.

참고 자료