我正在尝试为我的swift应用程序创建动画图像背景。我在我的资源文件夹中添加了一组300个JPG图像,我想知道如何在我的代码中访问该文件夹,迭代它并将其附加到UIImage数组?或者,如果有更简单的方法,请告诉我。
答案 0 :(得分:0)
您可以根据帧顺序命名图像
<强> e.g。强>
image0
,image1
,image2
... imageN
然后迭代
var imagesArray:[UIImage] = []
for i in 0...100 {
guard let image = UIImage(named: "image\(i).png") else {
fatalError("Couldn't find image\(i).png")
}
imagesArray.append(image)
}
imageView.animationImages = imagesArray
答案 1 :(得分:0)
您可以使用animatedImageNamed:duration:
让我们说你是一个微调器的动画。将所有框架复制到项目中,并按如下方式命名:
的旋1.png
的旋2.png
的旋3.png
等
然后通过以下方式创建图像:
[UIImage animatedImageNamed:@"spinner-" duration:1.0f];
此方法通过将一系列数字附加到name参数中提供的基本文件名来加载一系列文件。例如,如果name参数以'image'作为其内容,则此方法将尝试从名称为'image0','image1'等文件加载到'image1024'的文件中加载图像。动画图像中包含的所有图像应共享相同的大小和比例。
您可以使用第三方库,例如FLAnimatedImage或uiimage-from-animated-gif
希望这会有所帮助:)