如何将GIF图像添加到Assets文件夹并以编程方式在UIImageView中加载它们

时间:2017-11-24 07:33:37

标签: ios uiimageview animated-gif xcasset swift2.3

我正在尝试将我的@ 2x和@ 3x GIF图像放入Xcode的Assets文件夹中。我尝试过以下链接,但它对我不起作用。 Link 1Link 2

我目前正在加载GIF文件,方法是将它们添加到我的项目包并使用此

访问它
{{1}}

但我想从我的Assets文件夹中加载它们。有没有办法可以做到?在将其添加到Assets后,如何将它们加载到我的imageview中?

2 个答案:

答案 0 :(得分:9)

根据您的评论,这是您正在搜索的解决方案:

  1. 使用SwiftGif进行UIImage的扩展:

    extension UIImage {
      public class func gif(asset: String) -> UIImage? {
        if let asset = NSDataAsset(name: asset) {
           return UIImage.gif(data: asset.data)
        }
        return nil
      }
    }
    
  2. 然后使用扩展程序调整@Ganesh建议,您可以执行以下操作:

    imageView.image = UIImage.gif(asset: "YOUR_GIF_NAME_FROM_ASSET")
    

答案 1 :(得分:4)

要将gif加载到UIImage中我建议使用两个库

1)您可以使用此library

只需将其加载到UIImageView

即可
let imageData = try! Data(contentsOf: Bundle.main.url(forResource: "logo-animation", withExtension: "gif")!)
let gifImage = UIImage.gif(data: data!)
imageView.image = gifImage

2)或者您可以使用此library

import FLAnimatedImage

然后添加插座

@IBOutlet weak var fashImage: FLAnimatedImageView!

然后使用此代码

let imageData = try! Data(contentsOf: Bundle.main.url(forResource: "logo-animation", withExtension: "gif")!)
fashImage.animatedImage = FLAnimatedImage(animatedGIFData: imageData)

希望这会对你有所帮助