我正在做一个问答游戏。 但有时我想放一个图像而不是标签问题。 所以,我创建:
@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
}
}
和func hideLabel就是这样:
func hideLabel()
{
QuestionsLabel.hidden = true
}
func unhideLabel()
{
QuestionsLabel.hidden = false
}
但不行! 有什么问题?
答案 0 :(得分:3)
“但不行”。这是非常没有帮助的。 好的,这是什么意思?文本是否始终保持可见,图像也是如此?图像是否显示和消失,但标签不会消失?你的手机是否会起火?
您的代码存在许多问题。首先,arc4random_uniform(2)创建0或1的值。您的案例应为0和1,而不是1和2.
您需要案例0(显示标签)来调用unhideLabel并隐藏图像视图。
您需要案例1(隐藏标签,显示图片)才能调用hideLabel
并显示图片视图。设置QuestionsImg.hidden = false
顺便说一下,变量名应该以小写字母开头。只有类型和类名应以大写字母开头。这是Swift中强有力的命名约定。