[swift] Swift Presentr를 이용한 모달 창 구현 방법

Swift Presentr는 SwiftUI 및 UIKit에서 모달 창을 쉽게 구현할 수 있도록 도와주는 오픈 소스 라이브러리입니다. 이 라이브러리를 사용하면 간단한 몇 줄의 코드로 모달 창을 생성하고 커스터마이즈할 수 있습니다. 이제 Swift Presentr를 이용한 모달 창 구현 방법을 알아보겠습니다.

1. Swift Presentr 설치

먼저 Swift Presentr를 설치해야 합니다. CocoaPods를 사용하고 있다면, Podfile에 다음과 같이 Swift Presentr를 추가합니다.

pod 'Presentr'

그리고 터미널에서 다음 명령어를 실행하여 팟을 설치합니다.

$ pod install

CocoaPods를 사용하지 않는다면, GitHub 저장소에서 직접 소스 코드를 다운로드하여 프로젝트에 추가합니다.

2. 모달 창 생성하기

Swift Presentr를 사용하여 모달 창을 생성하려면 먼저 Presentr 객체를 인스턴스화해야 합니다. 기본적인 모달 창을 생성하기 위해서는 다음과 같이 Presentr 객체를 초기화합니다.

import Presentr

let presenter: Presentr = {
    let width = ModalSize.full
    let height = ModalSize.fluid(percentage: 0.7)
    let center = ModalCenterPosition.customOrigin(origin: CGPoint(x: 0, y: UIScreen.main.bounds.height - height))
    let customPresenter = Presentr(presentationType: .custom(width: width, height: height, center: center))

    // 모달 창의 배경색과 애니메이션 등을 커스터마이즈할 수 있습니다.
    customPresenter.backgroundOpacity = 0.5
    customPresenter.dismissOnSwipe = true
    customPresenter.dismissOnSwipeDirection = .bottom
    // ...

    return customPresenter
}()

이렇게 Presentr 객체를 초기화하고, 모달 창의 크기, 위치, 애니메이션 등을 설정합니다.

3. 모달 창 표시하기

모달 창을 표시하기 위해서는 다음과 같은 코드를 사용합니다.

present(viewController, animated: true, completion: nil)

여기서 viewController는 모달 창으로 표시될 UIViewController의 인스턴스입니다. 모달 창을 표시하려는 뷰 컨트롤러에서 위 코드를 호출하면 모달 창이 화면에 표시됩니다.

4. 모달 창 닫기

모달 창을 닫기 위해서는 다음과 같은 코드를 사용합니다.

dismiss(animated: true, completion: nil)

모달 창 내부의 버튼이나 다른 이벤트로 모달 창을 닫기 위해서도 위 코드를 사용합니다. 모달 창을 닫으면 원래의 뷰 컨트롤러가 다시 화면에 나타납니다.

결론

Swift Presentr를 사용하여 모달 창을 손쉽게 구현할 수 있습니다. Presentr 객체를 초기화하여 모달 창의 속성을 설정하고, present 메서드를 호출하여 모달 창을 표시할 수 있습니다. 모달 창을 닫기 위해선 dismiss 메서드를 사용합니다. 이 방법을 활용하여 앱에 간편하고 멋진 모달 창을 구현해 보세요.