Я работаю с приложением викторин, у меня 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
}
}
}
}
}
Вид и кнопки добавляются нормально, не работает только тап.
Он должен идти красным, если ответ неправильный, и зеленым, если он правильный. Вопросы и все остальное добавляется нормально, но даже не выводит «ааа» в начале целевой функции. Пожалуйста, помогите, спасибо !!