2010-11-03 7 views
6

Je UIButton que je mets l'image d'arrière-plan pour trois états, surligné normaux, et désactivé, tous avec le format suivant:iPhone - UIButton - background image handicapés

[button setBackgroundImage:buttonBGD forState:UIControlStateDisabled]; 

Mon problème est que lorsque le bouton est désactivé, l'iPhone choisit d'éclaircir l'image pour moi. Ce qui n'est pas désiré. Mais si je le dis:

[button setAdjustsImageWhenDisabled:NO]; 

Ensuite, l'image ne change pas du tout. Comment puis-je supprimer l'éclaircissement automatique de l'image et utiliser à la place l'image originale que j'ai créée?

Répondre

2

En fait ce sont les contraintes faites par apple et en tant que tel, il n'y a pas de travail autour de la façon. Mais vous pouvez essayer d'utiliser le bouton personnalisé et essayez d'utiliser une image un peu plus sombre puis nécessaire dans l'état désactivé de sorte que quand il est éclairci alors il est à la hauteur selon vos besoins.

Espérons que cela aide.

+0

C'est ce dont j'avais peur et que j'ai fini par faire. Merci. – RyanJM

+0

Vous êtes Bienvenue RyanJM. Je suis heureux de vous aider. :] –

1

Essayez de supprimer l'état sélectionné en cas d'invalidité: [button setSelected:NO];

11

Essayez:

[button setBackgroundImage:buttonBGD forState:UIControlStateNormal | UIControlStateDisabled] 

Si vous voulez la même image désactivée lorsque le bouton est sélectionné et désactivé, puis ajouter:

[button setBackgroundImage:buttonBGD forState:UIControlStateSelected | UIControlStateDisabled]; 

Espérons que ça aide!