0

我正在使用一个带有测验的应用程序,在子视图上有 4 个 UIButtons(自定义类型),这是自定义视图,即使我设置了目标,也没有一个按钮可以识别动作。我必须以编程方式进行。

我尝试设置 isUserInteractionEnabled 但它不起作用。按钮在视图上,尊重边界。

在这里,viewDidLoad来自InitialViewController

override func viewDidLoad() 

{

    super.viewDidLoad()

    self.questionView?.firstanswer!.isEnabled = true

    self.questionView?.firstanswer!.addTarget(self, action: #selector(self.answerTheQuestion), for: UIControl.Event.touchUpInside)

    self.questionView?.secondanswer!.addTarget(self, action: #selector(self.answerTheQuestion), for: UIControl.Event.touchUpInside)

    self.questionView?.thirdanswer!.addTarget(self, action: #selector(self.answerTheQuestion), for: UIControl.Event.touchUpInside)

    self.questionView?.fourthanswer!.addTarget(self, action: #selector(self.answerTheQuestion), for: UIControl.Event.touchUpInside)

}

下面是动作函数:

@objc func answerTheQuestion(_sender:UIButton) {

   print("aa")

   if let questionsAnswers = self.quizzes?.quizzes[self.randomNumber!]["questions"] as?  [[String:Any]] {

    if (questionsAnswers[self.randomQuestion!]["question"] as? String) != nil { 

       if let correctAnswer = questionsAnswers[self.randomQuestion!]["correct_answer"] as? String {
           if _sender.titleLabel?.text == correctAnswer {
              _sender.backgroundColor = UIColor.green
           } else {
            _sender.backgroundColor = UIColor.red
           }
       }
    }
  } 
}

视图和按钮添加正常,只有点击不起作用。

答案错误时应为红色,正确时为绿色。问题和其他所有内容都正常添加,但它甚至不会在目标函数的开头打印“aaa”。请帮忙,谢谢!!

4

0 回答 0