Mon exigence est de modifier l'image UIButton pour trois états différents. À partir de maintenant quand je tape sur le bouton pour les deux premières fois (les deux premiers états), cela fonctionne. Mais quand je tape pour la troisième fois ou quand il déclenche mon troisième état, la deuxième image semble toujours apparaître. Comment et résoudre ce problème? Mon code est ci-dessous.Modifier l'image UIButton lorsque vous appuyez plusieurs fois sur cette touche
@IBAction func repeateButtonPressed(_ sender: Any) {
let image = UIImage(named : "repeat_one")
let image2 = UIImage(named : "repeat")
if(playerRepeatMode == RepeatModes.NO_REPEAT){
playerRepeatMode = RepeatModes.REPEAT_LIST
self.repeatButton.setBackgroundImage(image2, for: .normal)
self.repeatButton.backgroundColor = buttonToggleColor
}
else if(playerRepeatMode == RepeatModes.REPEAT_LIST){
playerRepeatMode = RepeatModes.REPEAT
self.repeatButton.setBackgroundImage(image, for: .normal)
// self.repeatButton.setBackgroundImage(#imageLiteral(resourceName: "repeat_one"), for: UIControlState.normal)
self.repeatButton.backgroundColor = buttonToggleColor
}else{
playerRepeatMode = RepeatModes.NO_REPEAT
self.repeatButton.setBackgroundImage(image2, for: .normal)
self.repeatButton.backgroundColor = UIColor.clear
}
}
Vous avez seulement 2 images - comment voulez-vous voir 3 différents ? – DonMag
Non pour la troisième instance, j'utilise aussi la première image, mais en changeant la sortie de l'événement click et la couleur de fond. – danu