如何在imagview上循环显示6张图像

问题描述 投票:0回答:1

我下面的快捷代码现在在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)
    }
swift loops imageview uiimage func
1个回答
0
投票

[似乎,您的目标是每秒依次在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)

此时,查看最后一张图像时,它将返回到第一张图像。

© www.soinside.com 2019 - 2024. All rights reserved.