我正在尝试将我的@ 2x和@ 3x GIF图像放入Xcode的Assets文件夹中。我尝试过以下链接,但它对我不起作用。 Link 1和Link 2。
我目前正在加载GIF文件,方法是将它们添加到我的项目包并使用此
访问它{{1}}
但我想从我的Assets文件夹中加载它们。有没有办法可以做到?在将其添加到Assets后,如何将它们加载到我的imageview中?
答案 0 :(得分:9)
根据您的评论,这是您正在搜索的解决方案:
使用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
}
}
然后使用扩展程序调整@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)
希望这会对你有所帮助