UIImageView动画不起作用



我正在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()

最新更新