[swift] Swift에서 PopupDialog를 사용하여 휴가 일정 팝업창 만들기

Swift에서는 다양한 팝업 형태를 구현할 수 있는 라이브러리들이 제공되고 있습니다. PopupDialog는 그 중 하나로, 간단한 코드로 휴가 일정을 표시하는 팝업창을 만들 수 있습니다.

1. PopupDialog 설치하기

먼저, PopupDialog를 설치해야 합니다. Cocoapods를 이용해 설치할 수 있습니다.

pod 'PopupDialog'

2. PopupDialog 구현하기

PopupDialog를 사용하여 휴가 일정을 표시하는 팝업창을 구현해보겠습니다.

import UIKit
import PopupDialog

class VacationPopupViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    @IBAction func showVacationPopup(_ sender: UIButton) {
        // 팝업창 설정
        let title = "휴가 일정"
        let message = "2019년 10월 1일부터 10월 10일까지\n휴가를 가질 예정입니다."

        let popup = PopupDialog(title: title, message: message)

        // 버튼 추가
        let button = DefaultButton(title: "확인") {
            print("확인 버튼이 눌렸습니다.")
        }

        popup.addButton(button)

        // 팝업창 표시
        self.present(popup, animated: true, completion: nil)
    }
}

위 코드에서 showVacationPopup 함수가 호출되면 PopupDialog가 생성되고, “휴가 일정”을 제목으로, “2019년 10월 1일부터 10월 10일까지 휴가를 가질 예정입니다.”를 메시지로하는 팝업창이 표시됩니다. 팝업창에는 “확인” 버튼이 있으며, 버튼을 누르면 “확인 버튼이 눌렸습니다.”가 출력됩니다.

3. PopupDialog 커스터마이징하기

PopupDialog는 다양한 커스터마이징 옵션을 제공합니다. 휴가 일정 팝업창에 아이콘과 커스텀 버튼을 추가하는 예시를 살펴보겠습니다.

import UIKit
import PopupDialog

class VacationPopupViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    @IBAction func showVacationPopup(_ sender: UIButton) {
        // 팝업창 설정
        let title = "휴가 일정"
        let message = "2019년 10월 1일부터 10월 10일까지\n휴가를 가질 예정입니다."

        let popup = PopupDialog(title: title, message: message)

        // 팝업창 스타일 설정
        let dialogAppearance = PopupDialogDefaultView.appearance()
        dialogAppearance.backgroundColor = .white
        dialogAppearance.titleFont = UIFont(name: "HelveticaNeue-Bold", size: 18)!
        dialogAppearance.titleColor = .black
        dialogAppearance.messageFont = UIFont(name: "HelveticaNeue", size: 16)!
        dialogAppearance.messageColor = .darkGray

        // 아이콘 추가
        let image = UIImage(named: "vacation_icon")
        let icon = UIImage(named: "icon-check")

        let imageView = UIImageView(image: image)
        imageView.contentMode = .scaleAspectFit

        popup.icon = icon
        popup.shouldDismissOnTap = true
        popup.showIcon = true

        // 커스텀 버튼 추가
        let button = DefaultButton(title: "확인") {
            print("확인 버튼이 눌렸습니다.")
        }
        button.titleColor = .white
        button.buttonColor = .red

        popup.addButton(button)

        // 팝업창 표시
        self.present(popup, animated: true, completion: nil)
    }
}

위 코드에서는 팝업창의 스타일을 변경하고, 아이콘과 커스텀 버튼을 추가하였습니다. dialogAppearance를 통해 팝업창의 배경색, 폰트, 텍스트 색상 등을 변경할 수 있으며, popup.icon을 통해 아이콘을 추가할 수 있습니다. 커스텀 버튼의 색상과 텍스트 색상도 설정할 수 있습니다.

이렇게 Swift에서 PopupDialog를 사용하여 휴가 일정을 표시하는 팝업창을 만들 수 있습니다. PopupDialog를 다양한 상황에 활용하여 사용자와의 상호작용을 개선할 수 있습니다.

참고자료