Продолжительность GIF в быстром - PullRequest
0 голосов
/ 06 февраля 2020

Я устанавливаю GIF в UIImageView согласно следующему коду в Spla sh Экран.

let url = Bundle.main.url(forResource: "Splash", withExtension: "gif")

self.imgGifSplash.sd_setImage(with: url!, completed: { (img, error, type, url) in
     // this block is called when Gif is loaded in UIImageView, not when image is completed playing once.

          DispatchQueue.main.asyncAfter(deadline: .now() + 3.2) { // Change `2.0` to the desired number of seconds.

                    if let _ = UserData.shared.loginData?.token {
                        let VC = mainStoryboard.instantiateViewController(withIdentifier: "HomeVCNav") as! UINavigationController
                        objAppDelegate.window?.rootViewController = VC
                    }
                    else
                    {
                        let VC = mainStoryboard.instantiateViewController(withIdentifier: "LoginNav") as! UINavigationController
                        objAppDelegate.window?.rootViewController = VC
                    }
                }
}

Я хочу, чтобы Gif воспроизводился только один раз. Поэтому я попытался использовать таймер 3,2 секунды, но когда я Я использую разные устройства, тогда я получаю разные результаты, как будто иногда он проигрывается только один раз, иногда дважды, иногда даже не завершается один раз.

Как мне получить идеальный анимированный экран Spla sh, который воспроизводит GIF только один раз?

Надеюсь получить идеальный ответ. Заранее спасибо.

...