当代码继续执行时,SwiftyGif循环将冻结



我使用SwiftyGif在视图控制器内显示动画gif。由于您不能在启动屏幕中使用动画gif,我的初始视图控制器只是一个动画gif。我想做的是在应用程序运行一些初始查询时进行gif循环,然后在所有数据暂存后移动到下一个视图控制器。当我只使用显示gif的代码运行它时,它会按预期工作。一旦在gif代码块之后引入其他代码,gif就会停止工作。看起来SwiftyGif代码只有在没有其他内容的情况下才会循环。有其他人遇到过这个问题吗?我已经尝试了我能想到的一切,包括运行gif块异步,但都不起作用。如果有更好的gif库,那也没关系。


override func viewDidAppear(_ animated: Bool) {

//THIS WORKS FINE
do{
//START LOOPING THE ANIMATED LOGO
let animatedLogoGIF = try UIImage(gifName: "animatedlogo.gif")
self.AnimatedLogo.setGifImage(animatedLogoGIF, loopCount: 10)
self.AnimatedLogo.startAnimatingGif()

} catch {
print(error)
}


//WHEN THIS IS ADDED THE GIF NEVER START LOOPING OR STOPS IMMEDIATELY
var i: Float = 0
while (i < 10000000)
{
i += 0.01
}

GIF想要在主线程上设置动画,所以在后台线程上异步加载数据。然后,完成后,您可以更改视图(确保在主线程上这样做(

最新更新