[swift] 이미지 슬라이드쇼에서 이미지 회전 효과 추가하기
이미지 슬라이드쇼를 개발하다보면 단순히 이미지를 왼쪽이나 오른쪽으로 이동시키는 것 이외에 다양한 효과를 추가하고 싶을 때가 있습니다. 이번에는 이미지 슬라이드쇼에 이미지 회전 효과를 추가하는 방법에 대해 알아보겠습니다.
이미지 회전 효과 구현하기
- 먼저 UIImageView를 사용하여 이미지를 화면에 표시합니다.
UIImageView
인스턴스를 만들고 이미지를 할당하는 코드를 작성합니다.
let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
imageView.image = UIImage(named: "image_name")
- 회전 애니메이션을 추가하기 위해
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 // 무한 반복
- 회전 애니메이션을 이미지뷰에 적용합니다.
imageView.layer
를 통해 이미지뷰의 레이어에 접근하여,add(_:forKey:)
메서드를 사용하여 애니메이션을 추가합니다.
imageView.layer.add(rotationAnimation, forKey: "rotationAnimation")
- 이미지뷰를 화면에 추가합니다.
view.addSubview(imageView)
- 이미지 회전 효과를 원하는 대상에게 애니메이션을 적용합니다.
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)
}
}
결론
위와 같이 UIImageView
와 CABasicAnimation
클래스를 사용하여 이미지 슬라이드쇼에 이미지 회전 효과를 추가할 수 있습니다. 이미지 회전 효과를 사용하면 슬라이드쇼가 더욱 생동감 있고 멋진 인상을 남길 수 있습니다.