gpt4 book ai didi

ios - 在 IBAction 中按下时为 UIButtons 显示不同的颜色以进行测验

转载 作者:行者123 更新时间:2023-11-29 12:26:16 25 4
gpt4 key购买 nike

我有四个 UIButtons 代表 4 个答案。我已经设法将所有内容连接起来,并以绿色显示正确答案,以红色显示错误答案。

我唯一的问题是,当用户选择错误答案时,我会将所有答案灰显。我也想向用户展示正确答案。我试过 else if 语句但遗漏了一些东西,有什么建议吗?

-(IBAction)Answer1:(id)sender{

if (Answer1Correct == YES) {
[Answer1 setTitle:@"Correct" forState:UIControlStateNormal];
[Answer1 setBackgroundColor:[UIColor greenColor]];
[self RightAnswer];
}
else{

[Answer1 setBackgroundColor:[UIColor redColor]];
[Answer1 setTitle:@"Incorrect" forState:UIControlStateNormal];
[Answer2 setBackgroundColor:[UIColor colorWithRed:102.0/255.0 green:102.0/255.0 blue:102.0/255.0 alpha:1.0f]];
[Answer3 setBackgroundColor:[UIColor colorWithRed:102.0/255.0 green:102.0/255.0 blue:102.0/255.0 alpha:1.0f]];
[Answer4 setBackgroundColor:[UIColor colorWithRed:102.0/255.0 green:102.0/255.0 blue:102.0/255.0 alpha:1.0f]];
[self WrongAnswer];
}
}

最佳答案

最好的方法是继承UIButton。创建类 QuizQuestionButton这个类将有方法-setCorrectAnswer:(NSString *)correctAnswer-setRealAnswer:(NSString *)realAnswer

如果两者相同 - 将背景颜色设置为绿色,否则设置为红色。

-(void)setCorrectAnswer:(NSString *)correctAnswer {
_correctAnswer = correctAnswer;
}

-(void)setRealAnswer:(NSString *)realAnswer {
if (realAnswer == _correctAnswer) {
self.backgroundColor = [UIColor greenColor];
} else {
self.backgroundColor = [UIColor redColor];
}
}

另请阅读设计模式 - 策略。此模式可以帮助您避免 if-else 语句。

关于ios - 在 IBAction 中按下时为 UIButtons 显示不同的颜色以进行测验,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29008647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com