2010-11-19 9 views
0

J'ai acheté le jeu d'icônes Glyphes .. mais ils sont tous sombres. Je me demandais s'il existe un moyen de définir la couleur du dégradé PNG lorsque je définis l'image comme arrière-plan d'un UIButton?set gradient couleur (couleur) pour uibutton background image iphone sdk

Je pensais à quelque chose comme lorsque le bouton est désactivé, il change de couleur. Est-il possible de répliquer cette fonctionnalité?

Répondre

1

La méthode la plus simple serait de créer des copies des icônes que vous utilisez, et la teinte/modifiez-les dans votre éditeur d'image préféré. Nommez les diverses images quelque chose comme:

icon.png 
icon-disabled.png 

Puis, vous pouvez définir une image pour chaque état de bouton. Dans Interface Builder, il suffit de sélectionner le bouton et dans la fenêtre Inspecteur, vous verrez un menu contextuel qui indique "Configuration par défaut". Les images que vous spécifiez ici seront utilisées pour tous les différents états de boutons par défaut. Dans le champ Arrière-plan, entrez icon.png. Sélectionnez ensuite "Disabled State Configuration" dans le menu et entrez icon-disabled.png comme image de fond. Assurez-vous de remettre le menu à Default State Configuration (Configuration par défaut) pour éviter les confusions lors des modifications ultérieures.

Si vous souhaitez définir le même programme, il suffit d'utiliser quelque chose comme:

[myButton setBackgroundImage:[UIImage imageNamed:@"icon.png" forState:UIControlStateNormal]; 
[myButton setBackgroundImage:[UIImage imageNamed:@"icon-disabled.png" forState:UIControlStateDisabled]; 

Il est possible de prendre une image et modifier par programme avec un dégradé, mais à moins que vous faites tout le temps et en modifiant le dégradé en fonction de l'entrée de l'utilisateur ou de quelque chose, vous vous épargnerez beaucoup de maux de tête et de temps en le faisant de cette façon.

+0

j'ai décidé que, étant donné qu'il n'y avait que 5 images, il est plus facile de le faire au lieu de recolorer dans la couleur !! –

0

J'ai du code pour le dégradé ... si vous voulez une couleur simple pour les différents états du bouton .. i. e sélectionné, désactivé et tout. Vous pouvez créer une configuration différente à partir du générateur d'interface. Le code que je vais vous donner la couleur de gradient pour le bouton mais ensuite vous vérifiez l'état du bouton pour utiliser différentes couleurs de dégradé ..