[swift] Swift에서 PopupDialog를 사용하여 로딩 화면 만들기

이번에는 Swift에서 PopupDialog 라이브러리를 사용하여 로딩 화면을 만들어보도록 하겠습니다. PopupDialog는 사용하기 쉬우면서도 다양한 기능을 제공하는 대화 상자 라이브러리입니다.

1. PopupDialog 라이브러리 설치

먼저, 프로젝트에 PopupDialog 라이브러리를 설치해야 합니다. CocoaPods를 사용하신다면, Podfile에 다음과 같이 추가합니다:

pod 'PopupDialog'

그리고 터미널에서 pod install 명령어를 입력하여 라이브러리를 다운로드 받고 프로젝트를 업데이트 합니다.

2. 로딩 화면 생성하기

2.1. PopupDialog 객체 생성

로딩 화면을 만들기 위해 우선 PopupDialog 객체를 생성해야 합니다. 아래의 코드 예시를 참고하세요:

import UIKit
import PopupDialog

class LoadingViewController: UIViewController {
    
    private var popupDialog: PopupDialog!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let loadingVC = UIViewController(nibName: nil, bundle: nil)
        loadingVC.view.backgroundColor = .white
        
        // 로딩 화면에 추가할 컨텐츠를 생성합니다.
        let indicatorView = UIActivityIndicatorView(style: .gray)
        indicatorView.startAnimating()
        
        // 컨텐츠를 로딩 화면에 추가합니다.
        loadingVC.view.addSubview(indicatorView)
        
        // 컨텐츠를 가운데로 정렬합니다.
        indicatorView.center = loadingVC.view.center
        
        // PopupDialog를 생성하고, 로딩 화면으로 설정합니다.
        popupDialog = PopupDialog(viewController: loadingVC,
                                  buttonAlignment: .horizontal,
                                  transitionStyle: .bounceDown,
                                  gestureDismissal: false)
    }
    
    // 로딩 화면을 표시합니다.
    func showLoadingScreen() {
        guard let parentVC = self.parent else { return }
        
        parentVC.present(popupDialog, animated: true, completion: nil)
    }
    
    // 로딩 화면을 숨깁니다.
    func hideLoadingScreen() {
        popupDialog.dismiss(animated: true, completion: nil)
    }
    
}

2.2. 로딩 화면 사용하기

위에서 작성한 LoadingViewController를 사용하여 로딩 화면을 표시하고 숨기는 방법은 다음과 같습니다:

let loadingVC = LoadingViewController()

// 로딩 화면 표시
loadingVC.showLoadingScreen()

// 작업 수행

// 로딩 화면 숨기기
loadingVC.hideLoadingScreen()

로딩 화면을 표시할 때는 showLoadingScreen() 메소드를 호출하고, 작업이 완료된 후에는 hideLoadingScreen() 메소드를 호출하여 화면을 숨깁니다.

마무리

이번에는 Swift에서 PopupDialog를 사용하여 로딩 화면을 만드는 방법에 대해 알아보았습니다. PopupDialog 라이브러리를 사용하면 쉽게 다이얼로그 형태의 로딩 화면을 구현할 수 있습니다. 자세한 내용은 PopupDialog GitHub 페이지를 참고해주세요.