从Firebase实时数据库接收数据时,我找不到显示UIActivityIndicator的任何内容。到目前为止,我已经使用了这段代码,但对我没有用。
//Check if the internet is connected or not
let connectedRef = Database.database().reference(withPath: ".info/connected")
connectedRef.observe(.value, with: { snapshot in
let myActivityIndicator = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.whiteLarge)
myActivityIndicator.center = self.view.center
if snapshot.value as? Bool ?? false {
print("Connected")
myActivityIndicator.stopAnimating()
myActivityIndicator.isHidden = false
}
else {
myActivityIndicator.startAnimating()
print("Not connected")
}
testView.addSubview(myActivityIndicator)
})
您需要在firebase观察者回调范围之外开始为UIActivityIndicatorView设置动画,并在观察者返回快照后将其停止。
var activityIndicator: UIActivityIndicatorView!
override func viewDidLoad() {
var activityIndicator = UIActivityIndicatorView(activityIndicatorStyle:
UIActivityIndicatorViewStyle.Gray)
activityIndicator.hidesWhenStopped = true;
activityIndicator.isHidden = true
activityIndicator.center = view.center;
addSubview(myActivityIndicator)
super.viewDidLoad()
}
func firebaseObserver() {
// Show indicator
activityIndicator.isHidden = false
activityIndicator.startAnimating()
// Firebase network observer
let connectedRef = Database.database().reference(withPath: ".info/connected")
connectedRef.observe(.value, with: { snapshot in
// Stop and hide indicator
self.activityIndicator.stopAnimating()
self.activityIndicator.isHidden = true
// Proceed with other operations.
})
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句