[swift] Swift에서 PopupDialog를 사용하여 공연 예약 팝업창 만들기

이번 블로그 포스트에서는 Swift에서 PopupDialog 라이브러리를 사용하여 공연 예약을 위한 팝업창을 만드는 방법에 대해 알아보겠습니다.

1. PopupDialog 라이브러리 설치

먼저, PopupDialog 라이브러리를 설치해야 합니다. Cocoapods를 사용한다면, Podfile에 다음과 같이 라이브러리를 추가합니다:

pod 'PopupDialog'

그리고 터미널에서 pod install 명령어를 실행하여 라이브러리를 설치합니다.

2. 팝업창 뷰 컨트롤러 생성

팝업창을 표시할 뷰 컨트롤러를 생성합니다. 새로운 Swift 파일을 만들고, 다음과 같이 코드를 작성합니다:

import UIKit
import PopupDialog

class BookingPopupViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
    }
    
    // 예약 버튼 클릭시 호출될 메소드
    @IBAction func bookButtonTapped(_ sender: UIButton) {
        // 예약 로직을 처리하는 코드를 작성합니다.
        // ...
        
        // 팝업창을 닫습니다.
        self.dismiss(animated: true, completion: nil)
    }
    
    // 취소 버튼 클릭시 호출될 메소드
    @IBAction func cancelButtonTapped(_ sender: UIButton) {
        // 팝업창을 닫습니다.
        self.dismiss(animated: true, completion: nil)
    }
}

3. 팝업창 생성 및 표시

팝업창을 생성하고 표시하기 위해 다음과 같은 코드를 작성합니다:

import UIKit
import PopupDialog

class ViewController: UIViewController {

    // 공연 예약 버튼 클릭시 호출될 메소드
    @IBAction func reserveButtonTapped(_ sender: UIButton) {
        // 팝업창을 생성합니다.
        let bookingPopup = BookingPopupViewController(nibName: "BookingPopupViewController", bundle: nil)
        
        // 팝업창 스타일과 속성을 설정합니다.
        let popup = PopupDialog(viewController: bookingPopup,
                                buttonAlignment: .horizontal,
                                transitionStyle: .bounceDown,
                                gestureDismissal: true)
        
        // 팝업창 버튼을 추가합니다.
        let bookButton = DefaultButton(title: "예약", height: 60) {
            bookingPopup.bookButtonTapped(self)
        }
        
        let cancelButton = CancelButton(title: "취소") {
            bookingPopup.cancelButtonTapped(self)
        }
        
        popup.addButtons([bookButton, cancelButton])
        
        // 팝업창을 표시합니다.
        self.present(popup, animated: true, completion: nil)
    }
}

4. 테스트해보기

모든 코드를 작성한 뒤에는 시뮬레이터를 실행해 앱을 테스트해보세요. 공연 예약 버튼을 클릭하면 팝업창이 표시되고, 예약 또는 취소 버튼을 누르면 해당 동작이 수행되며 팝업창이 닫힙니다.

이런 식으로 Swift에서 PopupDialog 라이브러리를 사용하여 간단하게 공연 예약 팝업창을 만들 수 있습니다. 더 많은 기능과 속성을 사용하고 싶다면 PopupDialog 라이브러리의 공식 문서를 참조해보세요.

참고 자료