이번 포스팅에서는
커스터마이징 되어진 ActivityIndicator를
보다 손쉽게 사용할 수 있는
ProgressHUD 오픈 아리브러리 사용법에 대해서
간단히 알아보겠다.
해당 라이브러리의 README를 보며 진행할것이며
Github 주소는 아래와 같다.
일단 라이브러리를 CocoaPod을 통해 install 하겠다.
pod 'ProgressHUD'
그리고 cell을 터치했을때
ActivityIndicator가 실행 되게끔
TableView를 하나 만들겠다.
QUICK START
quick start 부분을 먼저 보자면
간단하게 실행해볼수 있는 코드들이 있다.
그리고 하단과 같이 cell을 터치했을때
실행되게끔 입력을 해놨다.
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
switch indexPath.row {
case 0:
ProgressHUD.show("Some text...")
case 1:
ProgressHUD.showSucceed()
case 2:
ProgressHUD.showFailed()
case 3:
ProgressHUD.show(icon: .heart)
default:
timer = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: #selector(timerHandler), userInfo: nil, repeats: true)
}
}
Progress 같은 경우는
Timer를 사용해서 구현해봤다.
0.1초의 interval을 가지고 변수 count의 값을 변경 시키며
변경된 count 값은 progress의 값으로 할당 해 주도록 했다.
var count: CGFloat = 0.0
var timer: Timer?
@objc private func timerHandler() {
guard count <= 0.9 else {
ProgressHUD.dismiss()
count = 0.0
timer?.invalidate()
return
}
count += 0.1
ProgressHUD.showProgress(count)
}
또한 README에 기재된 것처럼
아래와 같이보다 디테일한 커스터마이징을 제공하니
살펴보며 어떤 부분이 변경되는지 살펴볼수도 있다.
ProgressHUD.animationType = .circleStrokeSpin
ProgressHUD.colorHUD = .systemGray
ProgressHUD.colorBackground = .lightGray
ProgressHUD.colorAnimation = .systemBlue
ProgressHUD.colorProgress = .systemBlue
ProgressHUD.colorStatus = .label
ProgressHUD.fontStatus = .boldSystemFont(ofSize: 24)
ProgressHUD.imageSuccess = UIImage(named: "success.png")
ProgressHUD.imageError = UIImage(named: "error.png")
'Swift_Grammar' 카테고리의 다른 글
[Swift_Grammar] Initialization (0) | 2021.01.12 |
---|---|
[Swift_Grammar] Method (0) | 2021.01.06 |
[Swift_Grammar] Property (0) | 2020.12.31 |
[Swift_Grammar] 구조체와 클래스 (0) | 2020.12.30 |
[Swift_Grammar] Optional (0) | 2020.12.28 |