티스토리 뷰
(iOS/swift4) 간단한 로딩 view 띄우기 (UIActivityIndicatorView)
ywlee 2018. 12. 17. 15:38UIActivityIndicatorView 를 이용한 간단한 로딩 뷰 띄우기 (뷰 교체 형식)
1. UIViewController 를 상속받을 ExtensionVC.swift 를 하나 만든다.
2. ExtensionVC.swift 에 extension 하여 아래와 같은 코드를 작성한다.
import UIKit
class ExtensionVC: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
}
extension UIViewController {
class func displaySpinner(onView: UIView) -> UIView {
let spinnerView = UIView.init(frame: onView.bounds)
spinnerView.backgroundColor = UIColor.init(red: 0.5, green: 0.5, blue: 0.5, alpha: 1.0)
let ai = UIActivityIndicatorView.init(style: .whiteLarge)
ai.startAnimating()
ai.center = spinnerView.center
DispatchQueue.main.async {
spinnerView.addSubview(ai)
onView.addSubview(spinnerView)
}
return spinnerView
}
class func removeSpinner(spinner : UIView) {
DispatchQueue.main.async {
spinner.removeFromSuperview()
}
}
}
3. 로딩화면을 사용할 ViewController 에서 UIViewController 대신, ExtensionVC 를 상속받는다.
class MainVC: ExtensionVC, UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {...}
4. displaySpinner() 로 로딩창을 호출한다.
let sv = UIViewController.displaySpinner(onView: self.view)
5. removeFromSuperView() 로 로딩창을 파괴한다.
sv.removeFromSuperview()
'Computer > Android&iOS' 카테고리의 다른 글
(Android) Could not find com.android.tools.build:aapt2:3.2.1-4818971. (0) | 2019.01.14 |
---|---|
( Android ) App is not indexable by Google Search; consider adding at least one Activity with an ACTION-VIEW intent filter. (0) | 2018.12.24 |
(iOS/swift4) UICollectionView 예제 (0) | 2018.11.22 |
( Android ) 2018.11. Android OS 점유율 (0) | 2018.11.21 |
(iOS/swift) story board 없이 작업하기 (0) | 2018.11.20 |
- Total
- Today
- Yesterday
- 서버
- CentOS
- xcode
- 스위프트
- linux
- 점유율
- 리눅스
- 배열
- Phaser
- 노드
- GIT
- Android
- Swift
- Kotlin
- mysql
- node.js
- IOS
- php
- BBC 가쉽
- 앵커브리핑
- Node
- C
- Asterisk
- 깃헙
- C언어
- 안드로이드
- nodejs
- git hub
- 뉴스룸
- 손석희
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |