Swift의 HUD 라이브러리 PKHUD
소개
HUD 라이브러리로서 가장 유명한 것은 SVProgressHUD라고 생각합니다만, 이번은 Swift로 되어 있는 PKHUD
를 조사해 보았습니다.
왜 PKHUD인가?
GitHub에서 HUD
그리고 언어가 Swift로 검색한 결과, 스타 수가 가장 많았기 때문입니다. (2018 12/10 시점)
GitHub에서
HUD
그리고 언어가 Swift로 검색한 결과, 스타 수가 가장 많았기 때문입니다. (2018 12/10 시점)거친 비교
라이브러리 이름
스타 수
Swift
Xcode
기타
PKHUD
3,057
4.2
Xcode 10
SwiftNotice
755
4.0
Xcode 9.3
설치방법이 매뉴얼만
KRProgressHUD
338
4.2
Xcode 10
일본어 문서가 있음
VHUD
138
4.2
Xcode 10
PKHUD 정보
특징
사용법
기본 조작
쉽게 HUD를 표시할 수 있는
HUD
클래스가 제공되고 있습니다.이것을 사용하면 매우 쉽게 로딩과 상태를 볼 수 있습니다.
// HUDを表示
HUD.show(.progress)
HUD.show(.progress, onView: view) // 表示もとのviewを明示的に指定
// HUDを表示して指定時間後に非表示にする
HUD.flash(.progress, delay: 3)
// HUDを出し終わったあとのタイミングが取れる
HUD.flash(.success, onView: view, delay: 2) { _ in
// HUDを非表示にしたあとの処理
}
// HUDを非表示にする
HUD.hide()
HUD.hide { _ in
// HUDを非表示にしたあとの処理
}
지정할 수 있는 Type
public enum HUDContentType {
case success
case error
case progress
case image(UIImage?)
case rotatingImage(UIImage?)
case labeledSuccess(title: String?, subtitle: String?)
case labeledError(title: String?, subtitle: String?)
case labeledProgress(title: String?, subtitle: String?)
case labeledImage(image: UIImage?, title: String?, subtitle: String?)
case labeledRotatingImage(image: UIImage?, title: String?, subtitle: String?)
case label(String?)
case systemActivity
}
예)
성공
error
progress
배경
배경을 어둡게 할지 여부를 설정할 수 있습니다.
기본적으로 어두워지는 설정입니다.
HUD.dimsBackground = false
HUD.show(.progress, onView: view)
dimsBackground
true
false
사용자 정의 정보
HUD
로 제공되고 있는 것으로 충분히 사용할 수 있습니다만, 커스터마이즈 하고 싶다고 하는 것은 있다고 생각합니다.이 경우
PKHUD
를 사용합니다.PKHUD.sharedHUD.contentView
에 사용자 정의 된 View를 설정하여 얻을 수 있습니다.PKHUD에서 이미 정의된 View(
PKHUDSquareBaseView
, PKHUDWideBaseView
)를 사용하면 쉽게 사용자 정의할 수 있습니다.예)
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
PKHUD.sharedHUD.contentView = CustomHUDView(image: PKHUDAssets.checkmarkImage, title: "Success!", subtitle: nil)
PKHUD.sharedHUD.show(onView: view)
}
}
class CustomHUDView: PKHUDSquareBaseView {
override init(image: UIImage?, title: String?, subtitle: String?) {
super.init(image: image, title: title, subtitle: subtitle)
titleLabel.textColor = UIColor.lightGray
backgroundColor = UIColor(red: 0xAB/0xFF, green: 0xD2/0xFF, blue: 0xFC/0xFF, alpha: 1.0)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
}
주의점
PKHUDSquareBaseView
를 사용자 정의했지만 로딩을 보려면 로딩 기능이있는 View를 PKHUD.sharedHUD.contentView
로 다시 설정하십시오.보려는 내용에 따라
PKHUD.sharedHUD.contentView
를 매번 바꿀 필요가 있으므로 PKHUD
를 확장하는 것이 좋을까 생각했습니다.문자색을 바꾸고 싶은 것만 같으면 조금 번거롭네요,,,
요약
Swift에서 만든 HUD 라이브러리 PKHUD
기본적으로 간단하고 사용하기 쉽다는 인상입니다.
오랫동안 SVProgressHUD에 신세를 졌지만 Swift로 만든 PKHUD를 사용하고 싶습니다.
Reference
이 문제에 관하여(Swift의 HUD 라이브러리 PKHUD), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/edm17/items/a4b7163201c779895de3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Swift의 HUD 라이브러리 PKHUD), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/edm17/items/a4b7163201c779895de3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)