如何在 Swift 上将图像放在 UIImageView 上?

How put an image on UIImageView on Swift?

我在做问答游戏。 但有时我想放一张图片而不是标签问题。 所以,我创建:

 @IBOutlet weak var QuestionsLabel = Label!
 @IBOutlet weak var QuestionsImg = UIImageView!

其余代码如下:

func randomQuestions ()
{
    var randomNumber = arc4random_uniform(2)
    while previousNumber == randomNumber
    {
        randomNumber = arc4random_uniform(2)
    }
    previousNumber = randomNumber

    switch(randomNumber)
    {
    case 1:
        QuestionsLabel.text = "O que significa 'estar pisado'?"
        Button1.setTitle("Estar doente", forState: UIControlState.Normal)
        Button2.setTitle("Estar machucado", forState: UIControlState.Normal)
        Button3.setTitle("Estar triste", forState: UIControlState.Normal)
        Button4.setTitle("Estar tonto", forState: UIControlState.Normal)
        correctAnswer = "2"
        break
    case 2:
        hideLabel()
        QuestionsImg.image = UIImage(named: "arante3")
        Button1.setTitle("Lagoinha", forState: UIControlState.Normal)
        Button2.setTitle("Canasvieiras", forState: UIControlState.Normal)
        Button3.setTitle("Armação", forState: UIControlState.Normal)
        Button4.setTitle("Santinho", forState: UIControlState.Normal)
        correctAnswer = "3"
        break
    default:
        break
    }
}

函数 hideLabel 是这样的:

func hideLabel()
    {
        QuestionsLabel.hidden = true
    }
    func unhideLabel()
    {
        QuestionsLabel.hidden = false
    }

但是不行! 有什么问题?

"But not work"。那是非常没有帮助的。 好的,那是什么意思?文本和图像是否始终保持可见?图像是否出现和消失但标签不会消失?你的 phone 会着火吗?

您的代码有很多问题。首先,arc4random_uniform(2) 创建值 0 或 1。您的案例应该是 0 和 1,而不是 1 和 2。

您需要案例 0(显示标签)来调用 unhideLabel 并隐藏图像视图。

您需要案例 1(隐藏标签,显示图像)来调用 hideLabel 并显示图像视图。通过设置 QuestionsImg.hidden = false

顺便说一句,变量名应该以小写字母开头。只有类型和 class 名称应该以大写字母开头。这是 Swift.

中的强命名约定