我正在使用SwiftGif框架为我制作的GIF制作动画,问题是我需要知道当前正在显示哪个图像。
扩展程序使用UIImage.animatedImage(with images: [UIImage], duration: TimeInterval) -> UIImage?
来显示动画图片。
以下是我加载gif的方法:
spikes.loadGif(name: "Trap")
以下是我如何获得我想将其与之比较的图像:
spikes.image.images[2]
我知道那些是弱的解释,但我找不到更多相关的信息,但是如果它可以帮到你,我可以给你更多的信息。
如果您知道任何其他可能涉及我使用其他框架的解决方案,我也会接受它。
答案 0 :(得分:0)
如果有人像我一样需要答案,我找到了办法。
spikes.image.images
中,我将这些图像存储在另一个var中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)
}
})
}
我很确定这不是最好的方法,但它有效