Je suppose que vous parlez d'un UIButton avec UIButtonTypeRoundedRect
? Vous ne pouvez pas changer la couleur de fond de celui-ci. Lorsque vous essayez de changer sa couleur de fond, vous changez plutôt la couleur du rectangle sur lequel le bouton est dessiné (qui est généralement transparent). Il y a donc deux façons de procéder. Soit vous sous-classez UIButton et écrivez sa méthode -drawRect:
, soit vous créez des images pour les différents états du bouton (ce qui est tout à fait acceptable à faire).
Si vous définissez les images de fond dans Interface Builder, vous devriez remarquer que IB ne prend pas en charge le paramétrage des images pour tous les états que le bouton peut avoir. Je recommande donc de définir les images dans le code comme ceci:
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom];
[myButton setBackgroundImage:[UIImage imageNamed:@"normal.png"] forState:UIControlStateNormal];
[myButton setBackgroundImage:[UIImage imageNamed:@"disabled.png"] forState:UIControlStateDisabled];
[myButton setBackgroundImage:[UIImage imageNamed:@"selected.png"] forState:UIControlStateSelected];
[myButton setBackgroundImage:[UIImage imageNamed:@"higligted.png"] forState:UIControlStateHighlighted];
[myButton setBackgroundImage:[UIImage imageNamed:@"highlighted+selected.png"] forState:(UIControlStateHighlighted | UIControlStateSelected)];
La dernière ligne montre comment définir une image pour l'état sélectionné et en surbrillance (que IB ne peut pas définir). Vous n'avez pas besoin des images sélectionnées (ligne 4 et 6) si votre bouton n'a pas besoin d'un état sélectionné.
0 votes
Pouvez-vous réparer l'image, ou la supprimer? kthx ;)
0 votes
O-0 hmmmm....., l'image était correcte mais maintenant elle ne s'affiche plus. Je viens de la supprimer
0 votes
Il s'agit d'un duplicata de stackoverflow.com/questions/372731/…
0 votes
J'ai résolu ce problème dans mon précédent message, veuillez vérifier le lien stackoverflow.com/questions/9733213/…
0 votes
Bon tutoriel et code d'exemple trouvé ici cimgf.com/2010/01/28/…
0 votes
Ceci est pour pré iOS7 - dans iOS7, définir la couleur de fond fonctionne comme prévu et le code ci-dessous n'est pas nécessaire
0 votes
Vérifiez ce post somethingaboutios.wordpress.com/2016/02/09/…