如何在 Swift 5 中使用 UIKit 在没有任何第三方库的情况下在 iOS 应用程序中使用 GIF?

chr*_*epe 5 xcode gif uiimageview ios swift

我目前正在开发一个严重依赖 GIF 的项目。然而,我从未在 iOS 版 Swift 中使用过 GIF,之前我很迷茫;)

我尝试的第一件事是将一些 GIF 导入到我的Assets.xcassets Folder. 我意识到使用ImageSet 来处理 GIF 是行不通的

所以我的第一个问题是:如何将 GIF 导入到我的项目中。我应该只使用一种分辨率还是像图像一样使用三种分辨率更好?

然后我已经检查了一些有关以编程方式和通过情节提要在 中呈现 GIF 的 UIImageView问题。正如我所发现的,这可能是通过使用UIImage 类的扩展来实现的最好方法。然而,由于某种原因,Swift 4 示例对我不起作用;(

所以我的第二个问题:如何在项目中使用导入的 GIF 并以编程方式在 UIImage 视图中显示它们?

非常感谢您提前提供的帮助!

小智 1

您必须手动解码 GIF 数据,然后才能逐帧显示它。您在这里不会有任何简单的答案,因为这绝对是非常困难的想法,请尝试从第三方和播放器复制解码算法或只是使用它。像SDWebImage这样的东西将是您的最佳选择。检查 SDAnimatedImagePlayer、SDWebAnimatedImage 类。