您需要在firebase observer回调范围外开始设置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.
})
}