이미지 슬라이드쇼에 흔들림 효과를 추가하면 사용자에게 더욱 동적인 경험을 제공할 수 있습니다. 이 글에서는 Swift 언어를 사용하여 이미지 슬라이드쇼에 흔들림 효과를 추가하는 방법을 알아보겠습니다.
1. CABasicAnimation 사용하기
CABasicAnimation은 Core Animation의 기능을 사용하여 간단한 애니메이션을 만들 수 있는 기능입니다. 이를 사용하여 이미지를 흔들리게 만들어보겠습니다.
import UIKit
class ViewController: UIViewController {
@IBOutlet var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
let animation = CABasicAnimation(keyPath: "position")
animation.duration = 0.1
animation.repeatCount = 2
animation.autoreverses = true
animation.fromValue = NSValue(cgPoint: CGPoint(x: imageView.center.x - 5, y: imageView.center.y))
animation.toValue = NSValue(cgPoint: CGPoint(x: imageView.center.x + 5, y: imageView.center.y))
imageView.layer.add(animation, forKey: "position")
}
}
위 코드에서는 CABasicAnimation을 사용하여 이미지를 흔들도록 애니메이션을 만들었습니다. animation.duration은 애니메이션의 지속 시간을 나타내며, animation.repeatCount는 애니메이션의 반복 횟수를 나타냅니다. animation.autoreverses는 애니메이션을 역재생하는지 여부를 나타내며, animation.fromValue와 animation.toValue는 애니메이션의 시작과 끝 값입니다.
2. 실제 이미지에 적용하기
위의 코드를 실제 이미지 슬라이드쇼에 적용하려면 UIImageView 객체를 사용하여 이미지를 표시하고 해당 객체에 애니메이션을 추가해야 합니다. 다음은 슬라이드쇼 이미지를 표시하고 흔들림 효과를 적용하는 예제입니다.
import UIKit
class ViewController: UIViewController {
@IBOutlet var imageView: UIImageView!
var imageIndex = 0
var images = [UIImage(named: "image1"), UIImage(named: "image2"), UIImage(named: "image3")]
override func viewDidLoad() {
super.viewDidLoad()
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(handleTap))
imageView.addGestureRecognizer(tapGesture)
updateImage()
}
@objc func handleTap() {
let animation = CABasicAnimation(keyPath: "position")
animation.duration = 0.1
animation.repeatCount = 2
animation.autoreverses = true
animation.fromValue = NSValue(cgPoint: CGPoint(x: imageView.center.x - 5, y: imageView.center.y))
animation.toValue = NSValue(cgPoint: CGPoint(x: imageView.center.x + 5, y: imageView.center.y))
imageView.layer.add(animation, forKey: "position")
}
func updateImage() {
imageView.image = images[imageIndex]
}
}
위의 코드에서는 사용자가 이미지를 탭할 때마다 handleTap() 함수가 호출되어 흔들림 애니메이션을 실행하도록 설정했습니다. 이미지를 변경하기 위해 updateImage() 함수를 사용하고, 탭 제스처를 추가하려면 UIImageView 객체에 UITapGestureRecognizer를 추가해야 합니다.
이제 이미지 슬라이드쇼에 이미지를 흔들리는 효과를 추가했습니다. 사용자가 이미지를 탭할 때마다 해당 이미지가 흔들리며, 더욱 동적인 슬라이드쇼를 즐길 수 있습니다.
참고 자료
- CABasicAnimation - Apple Developer Documentation
- UIImageView - Apple Developer Documentation
- UITapGestureRecognizer - Apple Developer Documentation