[swift] PKHUD에서의 사용자 프로필 설정 기능 구현 방법

개요

PKHUD는 Swift로 작성된 사용자 친화적인 HUD (Heads-Up Display) 라이브러리입니다. 이 라이브러리를 사용하여 사용자 프로필 설정 기능을 구현하는 방법에 대해 알아보겠습니다.

단계별 구현 방법

1. PKHUD 설치

먼저, CocoaPods를 사용하여 PKHUD를 프로젝트에 추가합니다. Podfile에 다음과 같이 PKHUD를 추가합니다.

pod 'PKHUD'

그런 다음 터미널에서 프로젝트 디렉토리로 이동하여 다음 명령을 실행합니다.

pod install

2. HUD 표시 및 숨김 처리

import PKHUD

// HUD 표시
PKHUD.sharedHUD.contentView = PKHUDTextView(text: "프로필 저장 중...")
PKHUD.sharedHUD.show()

// 프로필 저장 로직 실행
saveUserProfileToServer { success in
    DispatchQueue.main.async {
        // HUD 숨김
        PKHUD.sharedHUD.hide(animated: true)
        
        if success {
            // 성공적으로 저장될 경우
            // 알림 메시지 표시
            PKHUD.sharedHUD.contentView = PKHUDSuccessView()
            PKHUD.sharedHUD.show()
            PKHUD.sharedHUD.hide(afterDelay: 2.0)
        } else {
            // 저장 실패할 경우
            // 에러 메시지 표시
            PKHUD.sharedHUD.contentView = PKHUDErrorView(subtitle: "저장 실패")
            PKHUD.sharedHUD.show()
            PKHUD.sharedHUD.hide(afterDelay: 2.0)
        }
    }
}

위의 예제에서 PKHUD를 사용하여 HUD를 표시하고 숨김 처리하는 방법을 보여줍니다.

3. HUD 커스터마이징

PKHUD는 다양한 타입의 HUD View를 제공하며, 이를 사용하여 HUD를 커스터마이징할 수 있습니다.

// 성공 화면으로 HUD 커스터마이징
class PKHUDSuccessView: PKHUDImageView {
    override init(image: UIImage? = PKHUDAssets.image(named: "success_icon")) {
        super.init(image: image)
    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}

// 에러 화면으로 HUD 커스터마이징
class PKHUDErrorView: PKHUDImageView {
    override init(image: UIImage? = PKHUDAssets.image(named: "error_icon"), subtitle: String? = nil) {
        super.init(image: image, subtitle: subtitle)
    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}

위의 예제는 PKHUDImageView를 상속받아 성공 및 에러 화면으로 HUD를 커스터마이징하는 방법을 보여줍니다. PKHUDAssets.image(named:)를 사용하여 이미지 리소스를 가져올 수 있습니다.

결론

PKHUD를 사용하면 사용자 프로필 설정 기능을 구현할 때 사용자 친화적인 HUD를 손쉽게 추가할 수 있습니다. 위의 예제를 참고하여 프로젝트에 적용해 보세요.

참고 자료