[swift] Swift Presentr의 사용 시 주의사항

Swift Presentr는 iOS 개발에서 Alert 및 Action Sheet를 사용하기 위한 유용한 라이브러리입니다. 그러나 사용할 때에 주의해야 할 몇 가지 사항이 있습니다. 이 글에서는 Swift Presentr를 사용할 때 주의해야 할 사항을 알아보겠습니다.

1. View Controller 간 메모리 관리

Swift Presentr을 사용할 때, 참조 사이클이 발생하지 않도록 메모리 관리를 신경써야 합니다. 모든 View Controller는 Presentr 객체와의 참조 사이클을 방지하기 위해 참조를 유지하고 있을 수 있습니다. 이 문제를 해결하기 위해 [weak self]를 사용하여 약한 참조를 생성하거나 [unowned self]를 사용하여 인스턴스가 해제되지 않는 한 약한 참조로 설정할 수 있습니다. 이렇게 하면 메모리 관리 문제를 방지할 수 있습니다.

let presenter: Presentr = {
    let presentr = Presentr(presentationType: .alert)
    presentr.dismissOnSwipe = true
    presentr.dismissOnSwipeDirection = .top
    presentr.keyboardTranslationType = .moveUp
    return presentr
}()

let alertVC = UIAlertController(title: "주의", message: "메모리 관리에 유의하세요.", preferredStyle: .alert)
let action = UIAlertAction(title: "확인", style: .default) { [weak self] _ in
    self?.dismiss(animated: true, completion: nil)
}
alertVC.addAction(action)
self.customPresentViewController(presenter, viewController: alertVC, animated: true, completion: nil)

2. UI 설정에 주의

Swift Presentr는 기본적으로 iOS의 네이티브 Alert와 Action Sheet를 사용하여 UI를 생성합니다. 따라서 UI 설정에 주의해야 합니다. Alert 및 Action Sheet의 스타일, 애니메이션 및 버튼 배치 등을 신중하게 고려해야 합니다. UI가 애플 가이드라인에 맞추어져야 하며 사용자가 사용하기 편리하도록 설계되어야 합니다. 예를 들어, 긴 텍스트를 포함하는 Alert를 생성한다면 스크롤이 가능하도록 설정해야 합니다.

let presenter: Presentr = {
    let presentr = Presentr(presentationType: .alert)
    // UI 설정 예시
    presentr.transitionType = .coverVertical
    presentr.dismissTransitionType = .crossDissolve
    presentr.roundCorners = false
    presentr.backgroundColor = .white
    presentr.backgroundOpacity = 0.5
    presentr.cornerRadius = 16
    presentr.blurBackground = true
    presentr.blurStyle = .light
    return presentr
}()

let alertVC = UIAlertController(title: "주의", message: "UI 설정에도 주의하세요.", preferredStyle: .alert)
let action = UIAlertAction(title: "확인", style: .default) { [weak self] _ in
    self?.dismiss(animated: true, completion: nil)
}
alertVC.addAction(action)
self.customPresentViewController(presenter, viewController: alertVC, animated: true, completion: nil)

3. 다양한 환경에서의 테스트

Swift Presentr를 사용하기 전에 다양한 환경에서 테스트해야 합니다. 다른 iOS 버전, 디바이스 크기, 오리엔테이션 등을 고려하여 테스트하는 것이 좋습니다. 이렇게 함으로써 사용자가 다양한 환경에서 앱을 사용해도 문제가 발생하지 않도록 보장할 수 있습니다.

참고 자료

Swift Presentr를 사용할 때 이러한 주의사항을 염두에 두고 개발하면 보다 안정적이고 사용자 친화적인 앱을 개발할 수 있습니다. 이러한 주의사항을 지키면서 Swift Presentr의 강력함을 활용해보세요!