编辑-如何添加答案错误时,正确答案将变为红色和绿色?Swift 4.2
创建一个问答游戏 我如何补充,当答案不正确时,不正确的答案将变为红色,而正确的答案将同时变为绿色 当新问题出现时,我如何使颜色消失?我知道当你按下一个答案时,一个新的问题会马上出现 编辑:此代码工作正常编辑-如何添加答案错误时,正确答案将变为红色和绿色?Swift 4.2,swift,xcode,var,let,Swift,Xcode,Var,Let,创建一个问答游戏 我如何补充,当答案不正确时,不正确的答案将变为红色,而正确的答案将同时变为绿色 当新问题出现时,我如何使颜色消失?我知道当你按下一个答案时,一个新的问题会马上出现 编辑:此代码工作正常 @IBOutlet var options: [UIButton]! @IBOutlet weak var questionLabel: UILabel! @IBOutlet weak var progressView: UIView! var allQuestions = QuestionB
@IBOutlet var options: [UIButton]!
@IBOutlet weak var questionLabel: UILabel!
@IBOutlet weak var progressView: UIView!
var allQuestions = QuestionBank()
var Number: Int = 0
var selectedAnswer: Int = 0
override func viewDidLoad() {
super.viewDidLoad()
oppdatertekst()
options.forEach {
$0.layer.cornerRadius = 20
$0.backgroundColor = UIColor.orange
$0.setTitleColor(UIColor.black, for: .normal)
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func answerPressed(_ sender: UIButton) {
feedback()
if sender.tag == selectedAnswer {
sender.backgroundColor = UIColor.green
let riktig = NSLocalizedString("Quiz.riktig", comment: "")
ProgressHUD.showSuccess(riktig)
} else if let correctOption = options.first(where: { $0.tag == selectedAnswer }) {
let feilnr = NSLocalizedString("Quiz.feilnr", comment: "")
ProgressHUD.showError("\(feilnr)\(selectedAnswer)")
correctOption.backgroundColor = UIColor.green
sender.backgroundColor = UIColor.red
}
DispatchQueue.main.asyncAfter(deadline: .now() + 5) {
self.Number += 1
self.oppdatertekst()
}
}
func oppdaterSpm() {
if Number <= allQuestions.list.count - 1{
questionLabel.text = allQuestions.list[Number].question
options.forEach {
$0.backgroundColor = .white
}
options[0].setTitle(allQuestions.list[Number].optionA, for: .normal)
options[1].setTitle(allQuestions.list[Number].optionB, for: .normal)
options[2].setTitle(allQuestions.list[Number].optionC, for: .normal)
options[3].setTitle(allQuestions.list[Number].optionD, for: .normal)
selectedAnswer = allQuestions.list[Number].correctAnswer
} else {
let alert....
}
@IBOutlet var options:[UIButton]!
@IBVAR问题标签:UILabel!
@IBVAR progressView:UIView!
var allQuestions=QuestionBank()
变量编号:Int=0
var selectedAnswer:Int=0
重写func viewDidLoad(){
super.viewDidLoad()
oppdatertekst()
options.forEach{
$0.0层。角半径=20
$0.backgroundColor=UIColor.orange
$0.setTitleColor(UIColor.black,用于:。正常)
}
}
重写函数didReceiveMemoryWarning(){
超级。我收到了记忆警告()
//处置所有可以重新创建的资源。
}
@iAction func answerPressed(\发送方:UIButton){
反馈()
如果sender.tag==selectedAnswer{
sender.backgroundColor=UIColor.green
让riktig=NSLocalizedString(“quick.riktig”,注释:”)
ProgressHUD.showSuccess(riktig)
}如果let correctOption=options.first(其中:{$0.tag==selectedAnswer}),则为else{
让feinr=NSLocalizedString(“quick.feinr”,注释:”)
ProgressHUD.batherRor(“\(feilnr)\(selectedAnswer)”)
correctOption.backgroundColor=UIColor.green
sender.backgroundColor=UIColor.red
}
DispatchQueue.main.asyncAfter(截止日期:.now()+5){
self.Number+=1
self.oppdatertekst()
}
}
func oppdaterSpm(){
如果数字没有四个IBOutlet
s,请使用这四个按钮并将其连接到此集合
在answerPressed
方法中,如果选择了正确答案,则将单击的按钮颜色更改为绿色。如果选择了错误答案,则将选择的答案颜色更改为红色,然后从集合中获取正确答案按钮并将其颜色更改为绿色。5秒后重新加载下一个问题
class ViewController: UIViewController {
@IBOutlet var options: [UIButton]!
@IBOutlet weak var questionLabel: UILabel!
@IBOutlet weak var progressView: UIView!
var allQuestions = QuestionBank()
var Number: Int = 0
var selectedAnswer: Int = 0
override func viewDidLoad() {
super.viewDidLoad()
oppdatertekst()
options.forEach {
$0.layer.cornerRadius = 20
$0.backgroundColor = UIColor.orange
$0.setTitleColor(UIColor.black, for: .normal)
}
}
@IBAction func answerPressed(_ sender: UIButton) {
feedback()
if sender.tag == selectedAnswer {
sender.backgroundColor = UIColor.green
let riktig = NSLocalizedString("Quiz.riktig", comment: "")
ProgressHUD.showSuccess(riktig)
} else if let correctOption = options.first(where: { $0.tag == selectedAnswer }) {
let feilnr = NSLocalizedString("Quiz.feilnr", comment: "")
ProgressHUD.showError("\(feilnr)\(selectedAnswer)")
correctOption.backgroundColor = UIColor.green
sender.backgroundColor = UIColor.red
}
DispatchQueue.main.asyncAfter(deadline: .now() + 5) {
Number += 1
oppdatertekst()
}
}
}
在oppdaterSpm
方法中更改所有按钮的颜色
func oppdaterSpm() {
if Number <= allQuestions.list.count - 1{
questionLabel.text = allQuestions.list[Number].question
options.forEach {
$0.backgroundColor = .white
}
options[0].setTitle(allQuestions.list[Number].optionA, for: .normal)
options[1].setTitle(allQuestions.list[Number].optionB, for: .normal)
options[2].setTitle(allQuestions.list[Number].optionC, for: .normal)
options[3].setTitle(allQuestions.list[Number].optionD, for: .normal)
selectedAnswer = allQuestions.list[Number].correctAnswer
} else {
let alert....
}
}
func oppdaterSpm(){
如果数字没有四个IBOutlet
s,请使用这四个按钮并将其连接到此集合
在answerPressed
方法中,如果选择了正确答案,则将单击的按钮颜色更改为绿色。如果选择了错误答案,则将选择的答案颜色更改为红色,然后从集合中获取正确答案按钮并将其颜色更改为绿色。5秒后重新加载下一个问题
class ViewController: UIViewController {
@IBOutlet var options: [UIButton]!
@IBOutlet weak var questionLabel: UILabel!
@IBOutlet weak var progressView: UIView!
var allQuestions = QuestionBank()
var Number: Int = 0
var selectedAnswer: Int = 0
override func viewDidLoad() {
super.viewDidLoad()
oppdatertekst()
options.forEach {
$0.layer.cornerRadius = 20
$0.backgroundColor = UIColor.orange
$0.setTitleColor(UIColor.black, for: .normal)
}
}
@IBAction func answerPressed(_ sender: UIButton) {
feedback()
if sender.tag == selectedAnswer {
sender.backgroundColor = UIColor.green
let riktig = NSLocalizedString("Quiz.riktig", comment: "")
ProgressHUD.showSuccess(riktig)
} else if let correctOption = options.first(where: { $0.tag == selectedAnswer }) {
let feilnr = NSLocalizedString("Quiz.feilnr", comment: "")
ProgressHUD.showError("\(feilnr)\(selectedAnswer)")
correctOption.backgroundColor = UIColor.green
sender.backgroundColor = UIColor.red
}
DispatchQueue.main.asyncAfter(deadline: .now() + 5) {
Number += 1
oppdatertekst()
}
}
}
在oppdaterSpm
方法中更改所有按钮的颜色
func oppdaterSpm() {
if Number <= allQuestions.list.count - 1{
questionLabel.text = allQuestions.list[Number].question
options.forEach {
$0.backgroundColor = .white
}
options[0].setTitle(allQuestions.list[Number].optionA, for: .normal)
options[1].setTitle(allQuestions.list[Number].optionB, for: .normal)
options[2].setTitle(allQuestions.list[Number].optionC, for: .normal)
options[3].setTitle(allQuestions.list[Number].optionD, for: .normal)
selectedAnswer = allQuestions.list[Number].correctAnswer
} else {
let alert....
}
}
func oppdaterSpm(){
如果数字你必须写ui按钮
改变常用方法。在任何地方调用它
新问题出现时:
func whenNewQuestionComes() {
optionA.layer.cornerRadius = 20
optionA.backgroundColor = UIColor.orange
optionA.setTitleColor(UIColor.black, for: .normal)
optionB.layer.cornerRadius = 20
optionB.backgroundColor = UIColor.orange
optionB.setTitleColor(UIColor.black, for: .normal)
optionC.layer.cornerRadius = 20
optionC.backgroundColor = UIColor.orange
optionC.setTitleColor(UIColor.black, for: .normal)
optionD.layer.cornerRadius = 20
optionD.backgroundColor = UIColor.orange
optionD.setTitleColor(UIColor.black, for: .normal)
}
显示绿色和红色
@IBAction func answerPressed(_ sender: UIButton) {
feedback()
optionA.backgroundColor = UIColor.red
optionB.backgroundColor = UIColor.red
optionC.backgroundColor = UIColor.red
optionD.backgroundColor = UIColor.red
if sender.tag == selectedAnswer {
sender.backgroundColor = UIColor.green
let riktig = NSLocalizedString("Quiz.riktig", comment: "")
ProgressHUD.showSuccess(riktig)
}
/*
else if let correctOption = options.first(where: { $0.tag == selectedAnswer }) {
let feilnr = NSLocalizedString("Quiz.feilnr", comment: "")
ProgressHUD.showError("\(feilnr)\(selectedAnswer)")
correctOption.backgroundColor = UIColor.green
sender.backgroundColor = UIColor.red
}
*/
DispatchQueue.main.asyncAfter(deadline: .now() + 5) {
self.Number += 1
self.oppdatertekst()
}
}
您必须在通用方法中编写ui按钮
更改。在任何地方调用它
新问题出现时:
func whenNewQuestionComes() {
optionA.layer.cornerRadius = 20
optionA.backgroundColor = UIColor.orange
optionA.setTitleColor(UIColor.black, for: .normal)
optionB.layer.cornerRadius = 20
optionB.backgroundColor = UIColor.orange
optionB.setTitleColor(UIColor.black, for: .normal)
optionC.layer.cornerRadius = 20
optionC.backgroundColor = UIColor.orange
optionC.setTitleColor(UIColor.black, for: .normal)
optionD.layer.cornerRadius = 20
optionD.backgroundColor = UIColor.orange
optionD.setTitleColor(UIColor.black, for: .normal)
}
显示绿色和红色
@IBAction func answerPressed(_ sender: UIButton) {
feedback()
optionA.backgroundColor = UIColor.red
optionB.backgroundColor = UIColor.red
optionC.backgroundColor = UIColor.red
optionD.backgroundColor = UIColor.red
if sender.tag == selectedAnswer {
sender.backgroundColor = UIColor.green
let riktig = NSLocalizedString("Quiz.riktig", comment: "")
ProgressHUD.showSuccess(riktig)
}
/*
else if let correctOption = options.first(where: { $0.tag == selectedAnswer }) {
let feilnr = NSLocalizedString("Quiz.feilnr", comment: "")
ProgressHUD.showError("\(feilnr)\(selectedAnswer)")
correctOption.backgroundColor = UIColor.green
sender.backgroundColor = UIColor.red
}
*/
DispatchQueue.main.asyncAfter(deadline: .now() + 5) {
self.Number += 1
self.oppdatertekst()
}
}
什么是“它”?“当答案错误时,它会变成红色”你能回答吗?在一个ViewController中使用4个选项播放隐藏和显示?什么是“它”?“当答案错误时,它会变成红色”你能回答这个问题吗?你在一个ViewController中使用4个选项进行隐藏和显示吗?谢谢,到目前为止,我已经更改了代码,最后一个代码没有加入,你能看一下吗?如果Number感谢帮助,我会收到一条错误消息,关于这个代码correctOption.backgroundColor=UIColor.green,类型为'Array.Index'(也称为'Int')没有成员“背景色”一切正常,我尝试添加其他按钮,因为我有4个答案,但它只对所有按钮显示一个答案,我做错了什么?因为只有一个答案是可见的?更新了我的代码我已经更新了我的代码,如果你能检查它,因为我的所有按钮只显示一个答案,但我有4个不同的答案在一个屏幕上问题银行谢谢,到目前为止,我已经更改了我的代码,上一个代码没有加入,你能看一下吗?如果Number谢谢你的帮助,我会收到一条关于此代码的错误消息correctOption.backgroundColor=UIColor.green“Array.Index”(又名“Int”)类型的值没有成员“backgroundColor”一切正常,我尝试添加其他按钮,因为我有4个答案,但它只对所有按钮显示一个答案,我做错了什么?因为只有一个答案是可见的?更新了我的代码我已经更新了我的代码,如果你能检查它,因为我的所有按钮只显示一个答案,但我有4个不同的答案在一个屏幕上问题库