[swift] 스위프트 이미지슬라이드쇼 앱 예제

이번에는 스위프트를 사용하여 이미지 슬라이드쇼 앱을 만들어보겠습니다. 이 앱은 여러 장의 이미지를 자동으로 슬라이드하여 보여주는 기능을 갖고 있습니다.

준비물

프로젝트 생성

  1. Xcode를 열고 “새 프로젝트 생성”을 선택합니다.
  2. “App”을 선택하고 “다음”을 클릭합니다.
  3. 프로젝트에 원하시는 이름을 입력하고 “다음”을 클릭합니다.
  4. “Swift”를 선택하고 “다음”을 클릭합니다.
  5. 프로젝트의 위치를 선택한 후 “생성”을 클릭합니다.

UI 구성

  1. Main.storyboard를 열고 UIViewController를 선택합니다.
  2. UIImageView를 화면에 추가합니다.
  3. UIImageView의 제약조건을 설정하여 화면에 꽉 차게 만듭니다.
  4. UISwipeGestureRecognizer를 사용하여 스와이프 동작을 처리할 준비를 합니다.

이미지 슬라이드 기능 구현

import UIKit

class ViewController: UIViewController {
    
    @IBOutlet weak var imageView: UIImageView!
    
    let images = ["image1", "image2", "image3"]
    var index = 0
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let swipeLeft = UISwipeGestureRecognizer(target: self, action: #selector(handleSwipe(_:)))
        swipeLeft.direction = .left
        view.addGestureRecognizer(swipeLeft)
        
        let swipeRight = UISwipeGestureRecognizer(target: self, action: #selector(handleSwipe(_:)))
        swipeRight.direction = .right
        view.addGestureRecognizer(swipeRight)
        
        showImage()
    }
    
    @objc func handleSwipe(_ gesture: UISwipeGestureRecognizer) {
        if gesture.direction == .left {
            index = (index + 1) % images.count
        } else if gesture.direction == .right {
            index = (index - 1 + images.count) % images.count
        }
        
        showImage()
    }
    
    func showImage() {
        let imageName = images[index]
        imageView.image = UIImage(named: imageName)
    }
}

앱 실행

프로젝트를 빌드하고 시뮬레이터에서 앱을 실행하면 간단한 이미지 슬라이드쇼가 작동됩니다. 왼쪽 스와이프 동작으로 다음 이미지를, 오른쪽 스와이프 동작으로 이전 이미지를 보여줍니다.

정리

이번 예제를 통해 스위프트를 사용하여 이미지 슬라이드쇼 앱을 만드는 방법을 알아보았습니다. 화면에 이미지뷰를 추가하고 그 위에 여러 이미지를 슬라이드하여 보여주는 기능을 구현하는 방법을 배웠습니다. 앱의 기능을 확장하기 위해서는 사용자와의 상호작용을 추가하거나 이미지 소스를 동적으로 변경하는 방법을 고려해볼 수 있습니다.

참고 자료