[swift] Swift PKHUD를 사용하여 사용자에게 앱의 비디오 플레이어 재생 상태를 표시하는 방법은?

Swift에서 PKHUD는 사용자에게 로딩, 성공 또는 실패 메시지를 표시하는 데 유용한 라이브러리입니다. 이 예시에서는 PKHUD를 사용하여 비디오 플레이어의 재생 상태를 표시하는 방법을 알아보겠습니다.

먼저, Podfile에 PKHUD 라이브러리를 추가합니다.

platform :ios, '10.0'
use_frameworks!

target 'YourApp' do
    pod 'PKHUD'
end

그런 다음 터미널에서 pod install 명령어를 실행하여 라이브러리를 설치합니다. 설치가 완료되면 프로젝트 파일을 열고 비디오 플레이어를 구현하는 ViewController 클래스에서 다음 코드를 추가합니다.

import PKHUD

class VideoPlayerViewController: UIViewController {
    // 비디오 플레이어를 위한 변수 및 속성들을 선언합니다.

    override func viewDidLoad() {
        super.viewDidLoad()
        
        // 비디오 플레이어를 초기화하고 설정하는 코드를 작성합니다.
        
        // 재생 상태를 표시하기 위한 HUD를 생성합니다.
        let hud = PKHUD()
        
        // HUD의 스타일을 설정합니다.
        hud.contentView = PKHUDTextView(text: "재생 중...")
        hud.contentView.tintColor = .white
        hud.contentView.backgroundColor = .black
        
        // HUD를 화면에 표시합니다.
        PKHUD.sharedHUD.contentView = hud.contentView
        PKHUD.sharedHUD.show()
    }
    
    // 재생이 완료되었을 때 호출되는 메서드
    func videoDidFinishPlaying() {
        // 재생 완료 상태를 나타내는 HUD를 생성합니다.
        let hud = PKHUD()
        hud.contentView = PKHUDTextView(text: "재생 완료!")
        
        // 텍스트 색상과 배경색을 설정합니다.
        hud.contentView.tintColor = .white
        hud.contentView.backgroundColor = .black
        
        // HUD를 화면에 표시합니다.
        PKHUD.sharedHUD.contentView = hud.contentView
        PKHUD.sharedHUD.show()
        
        // 잠시 후에 HUD를 숨깁니다.
        DispatchQueue.main.asyncAfter(deadline: .now() + 2) {
            PKHUD.sharedHUD.hide()
        }
    }
    
    // 재생이 중지되었을 때 호출되는 메서드
    func videoDidPause() {
        // 일시 정지 상태를 나타내는 HUD를 생성합니다.
        let hud = PKHUD()
        hud.contentView = PKHUDTextView(text: "일시 정지")
        hud.contentView.tintColor = .white
        hud.contentView.backgroundColor = .black
        
        // HUD를 화면에 표시합니다.
        PKHUD.sharedHUD.contentView = hud.contentView
        PKHUD.sharedHUD.show()
    }
    
    // 재생이 시작되었을 때 호출되는 메서드
    func videoDidPlay() {
        // 재생 중 상태를 나타내는 HUD를 생성합니다.
        let hud = PKHUD()
        hud.contentView = PKHUDTextView(text: "재생 중...")
        hud.contentView.tintColor = .white
        hud.contentView.backgroundColor = .black
        
        // HUD를 화면에 표시합니다.
        PKHUD.sharedHUD.contentView = hud.contentView
        PKHUD.sharedHUD.show()
    }
}

위의 예시 코드에서는 viewDidLoad 메서드에서 비디오 플레이어의 재생 상태에 따라 HUD를 표시하고 감춰주는 코드를 작성했습니다. videoDidFinishPlaying, videoDidPause, videoDidPlay 메서드는 각각 비디오 재생이 완료됐을 때, 일시 정지되었을 때, 재생이 시작되었을 때 호출되는 메서드입니다.

HUD의 내용과 스타일은 PKHUDTextView 클래스를 사용하여 설정할 수 있습니다. 이 예시에서는 텍스트 색상을 흰색으로, 배경색을 검정색으로 설정했습니다.

이제 PKHUD를 사용하여 비디오 플레이어의 재생 상태를 표시할 수 있습니다. PKHUD는 사용자에게 시각적인 피드백을 제공하여 앱의 사용성을 향상시키는 데 도움을 줍니다.


참고 문서: PKHUD GitHub 페이지