커스텀 팝업 - Plogging/Plogging_iOS GitHub Wiki

커스텀 팝업

커스텀 팝업 타입

  • 버튼의 개수의 차이에 따라 분리해놨습니다.
  • 직관적이게 보일려고 일단은 한글로 case를 두었지만 추후 변경하겠습니다.
enum PopUpType {
    case 운동점수안내팝업
    case 랭킹점수안내팝업
    case 비밀번호변경완료팝업
    
    case 종료팝업
    case 사진없이저장팝업
    case 기록삭제팝업
    case 로그아웃팝업
}

커스텀 팝업 구현

  • extension으로 모든 팝업에 사용되는 리소스 구현해놨습니다.
extension PopUpType {
    // 제목 
    func titleMessage() -> String { ... }
    // 부제목
    func descriptionMessage() -> String { ... }    
    // 해당 팝업에 맞는 이미지 전달 
    func image() -> UIImage? { ... }
    // 버튼 개수
    func numberOfButton() -> CGFloat { ... }
    
    // 아우터 이미지 뷰 높이
    func outerViewHeight() -> CGFloat { ... }
    // 이너 이미지 뷰 높이
    func innerViewHeight() -> CGFloat { ... }
}

사용법

  • 모든 UIViewController에서 .showPopUpViewController(with: PopUpType)이렇게 호출하면 팝업이 노출됩니다.
  • 종료팝업을 호출하고 싶다면 showPopUpViewController(with: .종료팝업)이렇게 호출하시면 됩니다.
extension UIViewController {
    func showPopUpViewController(with type: PopUpType) { ... }
}