Je règle la couleur du texte pour UIButton
headingButton.titleLabel.textColor = [UIColor colorWithRed:36/255.0
green:71/255.0
blue:113/255.0
alpha:1.0];
Cela ne change pas la couleur du même code que j'utilise dans un autre code, cela fonctionne.
utilisation
Objective-C
[headingButton setTitleColor:[UIColor colorWithRed:36/255.0 green:71/255.0 blue:113/255.0 alpha:1.0] forState:UIControlStateNormal];
rapide
headingButton.setTitleColor(.black, for: .normal)
J'ai créé une classe personnalisée MyButton étendue de UIButton
. Puis ajouté ceci dans le Identity Inspector
:
Après cela, changez le type de bouton en Custom:
Ensuite, vous pouvez définir des attributs tels que textColor
et UIFont
pour votre UIButton
pour les différents états:
Ensuite, j'ai également créé deux méthodes à l'intérieur de la classe MyButton
que je dois appeler à l'intérieur de mon code lorsque je veux qu'un objet UIButton
soit affiché en surbrillance:
- (void)changeColorAsUnselection{
[self setTitleColor:[UIColor colorFromHexString:acColorGreyDark]
forState:UIControlStateNormal &
UIControlStateSelected &
UIControlStateHighlighted];
}
- (void)changeColorAsSelection{
[self setTitleColor:[UIColor colorFromHexString:acColorYellow]
forState:UIControlStateNormal &
UIControlStateHighlighted &
UIControlStateSelected];
}
Vous devez définir titleColor
pour normal, mettre en surbrillance et sélectionner UIControlState
car il peut exister plusieurs états à la fois, selon la documentation de UIControlState
. Si vous ne créez pas ces méthodes, la UIButton
affichera la sélection ou la surbrillance, mais elles ne resteront pas dans la UIColor
que vous avez configurée dans le UIInterface Builder
, car elles ne sont disponibles que brièvement. affichage d'une sélection, pas pour afficher la sélection elle-même.
Dans Swift:
Changer la couleur du texte de l'étiquette est assez différent de le changer pour un UIButton
. Pour changer la couleur du texte pour un UIButton
, utilisez cette méthode:
self.headingButton.setTitleColor(UIColor(red: 107.0/255.0, green: 199.0/255.0, blue: 217.0/255.0), forState: UIControlState.Normal)