[swift] Swift Presentr를 통한 사용자 맞춤형 설정 화면 구현 방법

iOS 애플리케이션을 개발할 때, 사용자 설정 화면을 구현하는 것은 중요한 요소입니다. 사용자가 앱의 동작을 원하는 대로 조정할 수 있는 기능을 제공하는 것은 사용자 경험을 향상시키는 데 큰 도움이 됩니다. 이번 글에서는 Swift Presentr를 사용하여 사용자 맞춤형 설정 화면을 구현하는 방법을 알아보겠습니다.

Presentr 소개

Presentr는 iOS에서 맞춤형 모달 프레젠테이션을 구현하기 위한 라이브러리입니다. Presentr를 사용하면 다양한 스타일과 크기의 모달 창을 쉽게 생성하고 관리할 수 있습니다. Storyboard를 사용하지 않고 모달 창을 동적으로 생성하고 커스터마이징할 수 있다는 점이 주요 특징입니다.

Swift Presentr 설치

Presentr를 사용하기 위해, 우선 Cocoapods를 이용하여 프로젝트에 Presentr를 설치해야 합니다. Podfile에 다음과 같은 내용을 추가해주세요:

pod 'Presentr'

그리고 terminal에서 다음 명령어를 실행하여 라이브러리를 설치합니다:

pod install

Presentr를 이용한 사용자 설정 화면 구현

  1. Presentr를 import 합시다:
import Presentr
  1. Presentr 인스턴스를 생성합니다:
let presenter: Presentr = {
    let width = ModalSize.full
    let height = ModalSize.fluid(percentage: 0.7)
    let center = ModalCenterPosition.customOrigin(origin: CGPoint(x: 0, y: 0))
    let customType = PresentationType.custom(width: width, height: height, center: center)
    let presenter = Presentr(presentationType: customType)
    presenter.backgroundColor = .black
    presenter.roundCorners = true
    presenter.cornerRadius = 10
    return presenter
}();

위의 코드에서는 모달 창의 크기, 위치, 스타일 등을 설정하고 있습니다. 여기서는 모달이 화면의 전체 크기를 차지하고, 높이는 화면의 70%를 차지하도록 설정했습니다. 또한, 배경색, 테두리 모서리, 둥근 테두리 등을 설정하는 것도 가능합니다.

  1. 모달 창으로 표시할 ViewController를 생성합니다:
let settingsViewController = SettingsViewController(nibName: nil, bundle: nil)

위의 코드에서는 SettingsViewController를 모달 창으로 표시하기 위해 인스턴스를 생성하고 있습니다. SettingsViewController는 사용자 설정을 편집하는 뷰 컨트롤러입니다.

  1. 모달 창을 표시합니다:
self.customPresentViewController(presenter, viewController: settingsViewController, animated: true, completion: nil)

위의 코드에서는 Presentr를 사용하여 모달 창을 표시하고 있습니다. customPresentViewController 메서드는 Presentr 라이브러리에서 제공하는 메서드이며, 첫 번째 파라미터로는 Presentr 인스턴스, 두 번째 파라미터로는 표시할 뷰 컨트롤러를 전달합니다. 필요에 따라 애니메이션과 완료 핸들러를 설정할 수도 있습니다.

  1. 사용자 설정 화면에서의 작업을 처리합니다:
// SettingsViewController.swift 파일 내의 코드
@IBAction func didSaveButtonTap(_ sender: UIButton) {
    // 사용자 설정 저장 및 처리 로직
    self.dismiss(animated: true, completion: nil)
}

위의 코드는 SettingsViewController에서 저장 버튼이 탭되었을 때의 처리 로직입니다. 사용자 설정을 저장하고 모달 창을 닫는 동작입니다.

Presentr를 사용하여 사용자 맞춤형 설정 화면을 구현해보았습니다. Presentr를 사용하면 보다 유연하고 쉽게 모달 창을 구현할 수 있으며, 사용자 설정과 같은 기능을 제공하는 데 큰 도움이 됩니다. Presentr의 자세한 사용법은 공식 GitHub 저장소를 참고하시면 됩니다.