当应用程序从Firebase Realtime数据库接收数据时,如何显示UIActivityIndicator

古吉特·辛格|

从Firebase实时数据库接收数据时,我找不到显示UIActivityIndi​​cator的任何内容。到目前为止,我已经使用了这段代码,但对我没有用。

//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观察者回调范围之外开始为UIActivityIndi​​catorView设置动画,并在观察者返回快照后将其停止。

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当应用程序处于后台时,如何显示Firebase通知的自定义UI?

当应用程序处于Firebase后台时,使推送通知显示为弹出窗口

仅当应用程序在前台时,Flutter,Firebase iOS,云消息才会显示

当应用程序在后台运行时,Firebase通知数据不回调didReceiveRemoteNotification

寻呼机应用程序 - 当应用程序被杀死时 - 收听 Firebase 更改并发送通知

在Android中-当应用程序处于前台时如何防止Firebase推送通知?

当应用程序在后台时,不会调用Firebase onMessageReceived

当应用程序更新时,Firebase匿名将持续存在吗?

当应用程序被多个Firebase项目杀死时,未收到FCM通知

当应用程序不在后台时无法识别Firebase动态链接(iOS)

当应用程序关闭时,Firebase FIrestore 侦听器会取消订阅吗?

在Firebase Realtime数据库中更改值时如何查看flutter应用程序中的更改

当应用程序在调试中运行时,如何禁用Firebase崩溃报告?

当应用程序意外退出时防止数据损坏

当应用程序运行时数据库关闭时,如何处理MySQL CommunactionException

当应用程序处于后台时,即使传递了数据负载,也不会收到Firebase通知

正在从Firebase提取数据,但当应用程序呈现一次时authData为空

当应用程序处于后台时,尝试使用 AsyncStorage 写入获取的数据库数据时出现 iOS 错误

当应用程序被杀死时,FireBase仅在以下Android 6.0设备中不接收推送通知

当应用程序处于后台时显示抬头通知

当应用程序关闭时显示通知颤动

当应用程序进入后台时如何获得通知?

当应用程序在 IOS 后台时,如何在新的 firebase 消息(推送通知)上播放自定义铃声?

FIREBASE_MESSAGING:当应用程序处于后台或已终止状态时,onBackgroundMessage无法处理通知

当应用程序进入前台时执行操作

当应用程序在后台时,片段实例消失

当应用程序异常关闭时,删除RabbitMQ队列

当应用程序进入后台时碎片销毁

执行活动,当应用程序终止时