Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
编辑-如何添加答案错误时,正确答案将变为红色和绿色?Swift 4.2_Swift_Xcode_Var_Let - Fatal编程技术网

编辑-如何添加答案错误时,正确答案将变为红色和绿色?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个不同的答案在一个屏幕上问题库