我正在swift中处理UIImageView转换。我将在一个数组中存储六个图像,并将该数组交给"imageview.animationImages"我正在努力让它成为‘Gif动画’,我写的代码如下:
logoImages = NSMutableArray(array: ["backGround4.jpeg","backGround3.jpeg","backGround.jpeg","16.jpeg","23.jpeg","backGround1.jpeg"])
imageview.animationImages = NSArray(array: ["backGround4.jpeg","backGround3.jpeg","backGround.jpeg","16.jpeg","23.jpeg","backGround1.jpeg"]) as? [UIImage]
imageview.animationDuration = 1.5
imageview.animationRepeatCount = 1
imageview.startAnimating()
它不起作用。有人能告诉我我在这里犯了什么错误吗?感谢提前
首先更正您的图像名称,如backGround1.jpeg、backGround2.jpeg等。
之后创建一个图像阵列,它将容纳您的所有图像:
var imageArray = [UIImage]()
然后添加图像阵列中的所有图像:
for var i = 1; i < totalImageCount; i++ {
let image = UIImage(named: "backGround4(i).png")
imageArray.append(image!)
}
之后你可以用这种方式创建动画:
imageview.animationImages = imageArray
imageview.animationDuration = 1.5
imageview.startAnimating()
请将字符串转换为UIImage,如下所示:
imageview.animationImages = NSArray(array: ["backGround4.jpeg","backGround3.jpeg","backGround.jpeg","16.jpeg","23.jpeg","backGround1.jpeg"].map({ (string) -> UIImage in
UIImage(named: string)! })) as? [UIImage]
请尝试此
var images: [UIImage] = []
for i in 1...2 {
images.append(UIImage(named: "c(i)")!)
}
myImageView.animationImages = images
myImageView.animationDuration = 1.0
myImageView.startAnimating()