我下面的快捷代码现在在func alterImage中循环显示3张图像。我想做的是像下面一样,循环显示6张图像。问题是我不知道如何将这三个图像添加到下面的序列中。我在功能中添加了额外的行,以尝试弄清楚如何添加image4,image5和image6。现在有4行。
var backColor = UIImageView()
let image1 = UIImage(named: "a.png")
let image2 = UIImage(named: "b.png")
let image3 = UIImage(named: "c.png")
let image4 = UIImage(named: "d.png")
let image5 = UIImage(named: "e.png")
let image6 = UIImage(named: "f.png")
@objc func alterImage() {
backColor.image =
backColor.image ==
image1 ? image2 : backColor.image
==
image2 ? image3 : image1
perform(#selector(alterImage), with: self, afterDelay: 1)
}
[似乎,您的目标是每秒依次在backColor
图像视图中查看图像。我建议避免使用当前使用的方法,而可以将图像分组到一个数组中。示例:
var backColor = UIImageView()
let image1 = UIImage(named: "a.png")
let image2 = UIImage(named: "b.png")
let image3 = UIImage(named: "c.png")
let image4 = UIImage(named: "d.png")
let image5 = UIImage(named: "e.png")
let image6 = UIImage(named: "f.png")
let images = [image1, image2, image3, image4, image5, image6]
var currentImageIndex = 0
@objc func alterImage() {
backColor.image = images[currentImageIndex]
currentImageIndex = currentImageIndex == images.count - 1 ? 0 : currentImageIndex + 1
}
perform(#selector(alterImage), with: self, afterDelay: 1)
此时,查看最后一张图像时,它将返回到第一张图像。