Swift: Changer un bouton de couleur une fois pressé
Je suis en train de faire une application de base de mon iPhone. Je suis complètement nouveau pour Xcode et j'ai eu une rechercher sur google et ne pouvait pas trouver exactement ce que je cherche. Je suis en train de faire une liste pour mon avion.
J'ai essentiellement eu un View controller avec plusieurs boutons. Et ce que je veux, c'est que le bouton du gris au bleu une fois pressé et rester blue, sauf si vous appuyez de nouveau. Je n'ai aucune connaissance de Xcode et rapide de la langue à tous alors si quelqu'un pouvait aider s'il vous plaît expliquer que si vous êtes à expliquer à un enfant.
Jusqu'à présent, j'ai réussi à obtenir les pages de configuration et de défilement de travail, mais j'ai juste besoin de boutons pour changer maintenant.
Vous en remercie d'avance,
Ty.
OriginalL'auteur Ty Burgess | 2015-07-12
Vous devez vous connecter pour publier un commentaire.
C'est assez simple.
Vous allez commencer par d'abord configurer le bouton de la couleur d'arrière-plan dans le ViewDidLoad() la méthode. Avant cela, vous devez avoir déjà mis en place un IBOutlet pour le bouton. Dans mon exemple, je vais juste le nom de la prise d'un générique de "bouton".
Votre IBOutlet serait:
N'oubliez pas de connecter la prise à la bouton!
Ensuite, réglez le bouton de l'image de fond gris dans le ViewDidLoad, comme suit:
Cela devrait donner votre bouton générique sur fond gris. Si vous voulez plus de contrôle sur la couleur réelle, vous pouvez remplacer
button.backgroundColor = UIColor.grayColor()
avecbutton.backgroundColor = UIColor(red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat)
, en remplaçant "CGFloat" avec les valeurs que vous choisissez.Ensuite, le code pour changer le bouton couleur:
Faire une IBAction et de fil jusqu'à la touche. Le mien s'appelle:
Votre condition, c'est que si le bouton est gris, il doit devenir bleu sur le robinet et s'il est bleu, alors il devrait devenir gris sur le robinet.
Ainsi, dans le IBAction que nous venons de définir, vous allez ajouter une Instruction if, comme suit:
Ce que cela si l'instruction n'est que si le bouton de la couleur d'arrière-plan est gris, il la met au bleu, ou si la couleur de fond est bleu, il définit en gris. Vous pouvez remplacer le
UIColor.BlueColor()
ouUIColor.GrayColor()
, avec une plus personnaliséUIColor(red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat)
si vous le souhaitez.Edit: Si vous voulez juste changer la couleur du texte du bouton, il suffit d'ajouter à cette déclaration ou de ses variations dans le lieu:
OriginalL'auteur MShahmeer
Utiliser cette méthode de UIButton classe
L'état vous êtes à la recherche pour est .Sélectionné
Et bien sûr, vous avez à gérer l'état sélectionné par vous-même comme un bouton à bascule n'est pas un natif de comportement.
OriginalL'auteur s1ddok
Pour Swift 3:
sans CollectionView:
OriginalL'auteur rabeeh