티스토리 뷰
(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
- C언어
- xcode
- Android
- nodejs
- 스위프트
- Swift
- php
- 깃헙
- Phaser
- Asterisk
- linux
- git hub
- 손석희
- Node
- C
- 안드로이드
- 뉴스룸
- 앵커브리핑
- IOS
- 리눅스
- node.js
- Kotlin
- BBC 가쉽
- 배열
- 서버
- 점유율
- 노드
- mysql
- GIT
- CentOS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |