我有一个包含3个视图的应用程序,其中2个是tableViews(列表),在第三个视图中我尝试通过传递数据(文本和GIF)来加载GIF,不同的是每个项目列表。
我找到了一个名为 SwiftGif 的GIF扩展程序,在普通的 viewControllers 中使用时效果很好,但在之间传递数据时gif没有移动tableViews
SwiftGif 包含功能:
extension UIImageView {
public func loadGif(name: String) {
DispatchQueue.global().async {
let image = UIImage.gif(name: name)
DispatchQueue.main.async {
self.image = image
}
}
}
我的 ThirdView.swift 文件包含:
import Foundation
import UIKit
import ImageIO
let name = String()
var gifs = UIImage.gif(name: name)
struct IngredientsAndDirections {
var ThirdViewArray = [String]()
var Pic = [gifs]
}
但是我无法弄清楚如何在gif数组上调用loadGif函数来使我的GIF移动。
有什么建议吗?
答案 0 :(得分:1)
有一个名为FLAnimatedImage的图书馆。您可以在代码中使用此库。
在此之后,您只需要导入该类并将您的gif图像放入Xcode中的资源文件夹中。
import FLAnimatedImage
然后你需要使用以下代码来查看你的gif 动画。
guard let gifImageUrl = Bundle.main.path(forResource: "gifImage", ofType: "gif") else { return }
let gifData = try? Data(contentsOf: URL(fileURLWithPath: gifImageUrl))
let animGIFImage = FLAnimatedImage(animatedGIFData: gifData)
yourImageView.animatedImage = animGIFImage
注意: -
将imageView类名定义为FLAnimatedImageView 故事板文件和你的插座应该是这样的@IBOutlet弱变量 imageView:FLAnimatedImageView!
答案 1 :(得分:0)
万一有人在寻找解决方案(迅速4)。