Почему UIProgressView не останавливает прогресс? - PullRequest
1 голос
/ 03 мая 2020

Я хочу показать анимацию индикатора выполнения, прежде чем перейти в приложение или Auth V C

. По приведенному ниже коду он работал нормально, но проблема работала только один раз (при запуске приложения )

Итак, вопрос в том, останавливает ли это проблему? и если это как с этим справиться, пожалуйста ??

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(true)


        Auth.auth().addStateDidChangeListener { (auth, user) in
        if user == nil {
            // User Signed out

            self.progressive.setProgress(3, animated: true)
            // Before calling asyncAfter perform showing loader or anything you want.


            DispatchQueue.main.asyncAfter(deadline: .now() + 3) {
                // Your code to execute after a delay of 3 seconds.
                self.performSegue(withIdentifier: "Auth", sender: nil)
            }

        } else {
            // User Signed In

            self.progressive.setProgress(3, animated: true)
            // Before calling asyncAfter perform showing loader or anything you want.

            self.progressive.setProgress(3, animated: true)

            DispatchQueue.main.asyncAfter(deadline: .now() + 3) {

                self.performSegue(withIdentifier: "App", sender: nil)
            }
        }
    }
}

Ответы [ 2 ]

1 голос
/ 04 мая 2020

Не забудьте сбросить куда-нибудь progressView:

self.progressive.setProgress(0, animated: false)

0 голосов
/ 04 мая 2020

Решение состоит в том, чтобы сбросить значение прогресса на 0

Я попробовал это в viewDidAppear fun c, и это сработало!

overide viewDidAppear func (_ animated: Bool) {
    super.viewDidAppear(true)

    self.progressive.progress = 0   

   }
...