我正在使用SwiftGif框架为我制作的 GIF 制作动画,问题是我需要知道当前显示的是哪个图像。该扩展程序UIImage.animatedImage(with images: [UIImage], duration: TimeInterval) -> UIImage?
用于显示动画图像。
这是我加载 gif 的方式:
spikes.loadGif(name: "Trap")
这是我如何获得我想与它进行比较的图像:
spikes.image.images[2]
我知道这些是薄弱的解释,但我找不到更多相关信息,但是如果可以帮助您,我可以为您提供更多信息。
如果您知道任何其他可能涉及我使用另一个框架的解决方案,我也会接受。
如果有人像我一样需要答案,我找到了解决方法。
spikes.image.images
,我将这些图像存储在另一个变量中spikes.image = nil
为取消从loadGif()
方法生成的动画这是它的样子:
spikes.loadGif(name: "Trap", completion: { _ in
self.spikesImages = self.spikes.image?.images
self.spikes.image = nil
self.spikes.image = self.spikesImages.first?.img
self.animateSpikes()
})
func animateSpikes() {
Timer.scheduledTimer(withTimeInterval: 0.5, repeats: true, block: { _ in
if let currentImage = self.spikesImages.first {
self.spikes.image = currentImage
self.spikesImages.append(currentImage)
self.spikesImages.remove(at: 0)
}
})
}
我很确定这不是最好的方法,但它有效
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句