Dans mon mode de vue,
Il y a plusieurs boutons connectés à la même action p>
mon bouton est comme chèque ou décocher p>
J'ai essayé ci-dessous P>
Mon action est déclenchée, mais l'image n'a pas changé p> J'ai également essayé ci-dessous, mais il ne peut pas traiter plusieurs boutons p> Comment dois-je résoudre ces situation? p> Comme si cela a quelques questions pour vous p> et il vous suffit de cliquer pour vérifier ou cliquer à nouveau pour être décocher p> p>
5 Réponses :
Pour seulement deux états, abstraitement «normal» et «sélectionné», il est préférable d'utiliser les réponses ci-dessus, mais si vous avez besoin de gérer plusieurs cas, vous pouvez utiliser Ceci est un exemple: p> <# # uibutton #>. CurrentImage! .isequal (à: foo) code>, à comparer les images et utiliser uniquement .normal code> état.
Vous devez implémenter l'état de la différence de bouton, il changera l'image automatiquement
hi s'il vous plaît essayer avec un teintcolor si cela fonctionne
L'astuce consiste à utiliser le statut sélectionné pour les boutons.
Définissez les deux images pour puis, dans ibaction: p> .normal code> et . Sélection d'état code> État:
Si vous voulez plusieurs sélection, vous pouvez utiliser.
override func viewDidLoad() {
super.viewDidLoad()
for button in buttons {
button.setImage(UIImage(named: "uncheckBox"), for: .normal)
button.setImage(UIImage(named: "checkBox"), for: .selected)
button.tintColor = .clear
}
}
@IBAction func btnAction(_ sender: UIButton) {
// toggle automatic changes selection state
sender.isSelected.toggle()
}
cela ne devrait même pas compiler, vous comparez uiimageview avec uiimage
Définir des images pour l'état du bouton pour .normal et .selected et changer l'état du bouton