[swift] PKHUD에서의 버튼 추가 및 처리 방법

PKHUD는 Swift로 작성된 iOS 앱에서 사용할 수 있는 간단하고 맞춤형izable한 HUD(Heads-Up Display) 라이브러리입니다. 기본적으로 HUD는 사용자에게 작업 진행 중임을 알리는 데 사용됩니다. 그러나 때로는 HUD에 버튼을 추가하고 해당 버튼에 대한 동작을 처리해야 할 수도 있습니다. 이 글에서는 PKHUD에서 버튼을 추가하고 버튼의 동작을 처리하는 방법을 알아보겠습니다.

버튼 추가

PKHUD에서 버튼을 추가하는 방법은 매우 간단합니다. 다음의 단계를 따라해보세요:

  1. 먼저, HUD를 표시하기 전에 버튼을 생성합니다. UIButton을 사용하여 버튼을 만들 수 있습니다.
let button = UIButton(type: .system)
button.setTitle("확인", for: .normal)
  1. 버튼의 동작을 처리하기 위해 액션 메서드를 생성합니다. 액션 메서드는 사용자가 버튼을 탭할 때 호출될 함수입니다.
@objc func buttonTapped(_ sender: UIButton) {
    // 버튼의 동작 처리
}
  1. 버튼을 HUD에 추가하기 전에, PKHUDHUDController 클래스의 인스턴스를 만듭니다. 이 클래스의 인스턴스는 HUD를 표시하고 관리하는 데 사용됩니다.
let hudController = PKHUDHUDController()
  1. HUD를 표시하기 전에 버튼을 HUD에 추가합니다. contentView 속성을 사용하여 HUD의 내용 뷰에 버튼을 추가할 수 있습니다.
hudController.contentView.addSubview(button)
  1. 마지막으로, HUD를 표시합니다.
hudController.show()

이제 HUD에 버튼이 추가되었습니다.

버튼 동작 처리

HUD에 추가된 버튼의 동작을 처리하기 위해 액션 메서드를 작성해야 합니다. 이 액션 메서드는 버튼이 탭될 때 실행될 함수입니다. 예를 들어, 버튼이 탭될 때 HUD를 숨기도록 하는 액션 메서드를 작성해보겠습니다.

@objc func buttonTapped(_ sender: UIButton) {
    hudController.hide(animated: true)
}

액션 메서드를 작성한 후에는 버튼이 탭될 때 위에서 작성한 액션 메서드가 실행되도록 버튼과 액션을 연결해야 합니다. 다음의 단계를 따라주세요:

  1. 버튼을 만든 다음, 앞에서 작성한 액션 메서드를 해당 버튼과 연결합니다.
button.addTarget(self, action: #selector(buttonTapped(_:)), for: .touchUpInside)
  1. 이제 버튼을 HUD에 추가하고, HUD를 표시하면 버튼의 동작이 처리됩니다.
hudController.contentView.addSubview(button)
hudController.show()

버튼이 탭될 때 HUD가 숨겨지도록 작성한 액션 메서드가 실행됩니다.

이제 PKHUD에서 버튼을 추가하고 버튼의 동작을 처리하는 방법에 대해 알아보았습니다. 위의 단계를 따라하면 쉽게 원하는대로 버튼을 HUD에 추가하고 동작을 처리할 수 있습니다.