To accommodate the needs of setting a different button look when it's selected, set isSelected = true
.
Here is an example of setting the state, and changing the UIButton
appearance based on that state, using a quiz game environment:
if sender.titleLabel?.text == correctAnswer {
sender.isSelected = true
// Set title color and image based on 'selected' state.
sender.setTitleColor(.systemBlue, for: .selected)
sender.setImage(Utilities.sharedInstance.returnAnswerButtonImage(for: .correctlyAnswered).withRenderingMode(.alwaysOriginal), for: .selected)
sender.backgroundColor = .white
sender.tintColor = .systemBlue
// moveToNextQuestion()
} else {
sender.isSelected = true
sender.setTitleColor(.systemBlue, for: .selected)
sender.setImage(Utilities.sharedInstance.returnAnswerButtonImage(for: .incorrectlyAnswered).withRenderingMode(.alwaysOriginal), for: .selected)
sender.backgroundColor = .red
sender.tintColor = .systemBlue
}