每次单击按钮时,如何获得不同的UIImage数组?

时间:2019-04-26 01:26:46

标签: arrays swift

所以基本上我有一个按钮,每次单击按钮时,我都需要UIImage随机更改为数组中的三个图像之一。现在,当我单击按钮时会发生什么,它只是选择一个随机图像,然后再次单击它时图像保持不变。

这是我在按钮内写的内容:

@IBAction func scissorButton(_ sender: UIButton) {
    playerChoice.image = scissor.png
    computerChoice.image = computerArray[randomChoice]
}

3 个答案:

答案 0 :(得分:0)

大概您一次生成了一个随机数,并将该结果存储在import javafx.event.ActionEvent; 中。但是每次按下按钮时,您都需要生成一个新的随机数。

最简单的选择是:

randomChoice

答案 1 :(得分:0)

您可以尝试这样做,以确保每次单击按钮时都会获得一个新的非相似随机图像

var old = 0

@IBAction func scissorButton(_ sender: UIButton) {
   var randomChoice = 0
   while randomChoice == old {
     randomChoice = Int.random(in: 0..<computerArray.count)
   } 
   old = randomChoice
   computerChoice.image = computerArray[randomChoice]
}

答案 2 :(得分:0)

尝试一下,对我来说很好:

//Have an array of the name for your image like
let img = ["img1","img2","img3","img4"]

@IBAction func randomImageClick(_ sender: Any){

  self.imageView.image = UIImage(named: img[Int.random(in: img.count)]) // Look out for range of index. its size must be equal your array count, otherwise it'll get index out of range
}