Как исправить UIButton, не реагирующий на прикосновение? - PullRequest
0 голосов
/ 10 апреля 2019

Я работаю с приложением викторин, у меня 4 подпрограммы UIB (пользовательский тип) в подпредставлении, которое является пользовательским видом, и ни одна из кнопок не распознает действие, даже если я установил цель. Я должен сделать это программно.

Я попытался установить 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
           }
       }
    }
  } 
}

Вид и кнопки добавляются нормально, не работает только тап.

Он должен идти красным, если ответ неправильный, и зеленым, если он правильный. Вопросы и все остальное добавляется нормально, но даже не выводит «ааа» в начале целевой функции. Пожалуйста, помогите, спасибо !!

...