[swift] Swift SimpleImageViewer 이미지 스와이프 제스처
소개
이미지 스와이프 제스처는 사용자가 이미지를 스와이프하여 다른 이미지로 전환할 수 있는 기능을 제공합니다. Swift 언어를 사용하여 간단한 이미지 뷰어를 만들어 보겠습니다.
구현
이미지 뷰어 생성
import UIKit
class SimpleImageViewer: UIViewController {
var images: [UIImage] = []
var currentImageIndex = 0
private var imageView: UIImageView!
private var swipeGestureRecognizer: UISwipeGestureRecognizer!
override func viewDidLoad() {
super.viewDidLoad()
setupImageView()
setupSwipeGestureRecognizer()
}
private func setupImageView() {
imageView = UIImageView(frame: view.bounds)
imageView.contentMode = .scaleAspectFit
imageView.image = images[currentImageIndex]
view.addSubview(imageView)
}
private func setupSwipeGestureRecognizer() {
swipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(handleSwipeGesture(_:)))
swipeGestureRecognizer.direction = [.left, .right]
imageView.addGestureRecognizer(swipeGestureRecognizer)
imageView.isUserInteractionEnabled = true
}
@objc private func handleSwipeGesture(_ gestureRecognizer: UISwipeGestureRecognizer) {
if gestureRecognizer.direction == .left {
showNextImage()
} else if gestureRecognizer.direction == .right {
showPreviousImage()
}
}
private func showNextImage() {
if currentImageIndex < images.count - 1 {
currentImageIndex += 1
imageView.image = images[currentImageIndex]
}
}
private func showPreviousImage() {
if currentImageIndex > 0 {
currentImageIndex -= 1
imageView.image = images[currentImageIndex]
}
}
}
이미지 뷰어 사용
let images: [UIImage] = [UIImage(named: "image1"), UIImage(named: "image2"), UIImage(named: "image3")]
let imageViewer = SimpleImageViewer()
imageViewer.images = images
// 이미지 뷰어를 현재 화면 위에 모달로 표시
present(imageViewer, animated: true, completion: nil)
결과
위의 코드를 실행하면 이미지 스와이프 제스처를 사용하여 다음 이미지 또는 이전 이미지로 전환할 수 있는 이미지 뷰어가 생성됩니다.
결론
이번 포스트에서는 Swift를 사용하여 이미지 스와이프 제스처를 구현하는 방법을 알아보았습니다. 사용자가 이미지를 스와이프하여 다른 이미지로 전환할 수 있도록 하는 기능은 이미지 뷰어를 개발할 때 매우 유용하게 사용될 수 있습니다.
더 많은 기능을 추가하여 사용자 친화적인 이미지 뷰어를 개발해보세요!