커스텀 팝업 - 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) { ... }
}