如何在按钮单击时在uimageview中显示不同的图像

时间:2019-06-23 17:03:16

标签: swift xcode uiimageview

我已经开发了一个带有按钮,段控件和uiimageview的iOS应用。在资产文件夹中,有26张图片,名为card1到card26。如果我使用以下代码,它将以随机顺序显示26张图像中的每张。我如何翻转代码以按图像名称,card1 ... card2 ...等顺序显示每张图片?我已经搜索了最后一个小时,却找不到确切的内容。感谢您的帮助。

let Number = Int.random(in: 2...26) 
imageView.image = UIImage(named: "card\(Number)")

1 个答案:

答案 0 :(得分:1)

为您的ViewController创建一个名为number的属性,以跟踪当前的number。在@IBAction中将其递增,并在到达1时将其设置回27

class ViewController : UIViewController {
    @IBOutlet var imageView: UIImageView!
    var number = 1

    override func viewDidLoad() {
        super.viewDidLoad()

        imageView.image = UIImage(named: "card1")
    }

    @IBAction func buttonPressed(_ sender: UIButton) {
        // use % (mod function) to keep result in the range 1...26
        number = number % 26 + 1
        imageView.image = UIImage(named: "card\(number)")
    }
}

或者,您可以简单地使按钮动作增量number并在number上使用属性观察器来更新image

class ViewController : UIViewController {
    @IBOutlet var imageView: UIImageView!

    var number = 1 {
        didSet {
            if number == 27 {
                number = 1
            }
            imageView.image = UIImage(named: "card\(number)")
        }
    }

    override func viewDidLoad() {
         super.viewDidLoad()

         imageView.image = UIImage(named: "card1")
    }

    @IBAction func buttonPressed(_ sender: UIButton) {
        number = number + 1
    }
}