J'ai défini une image pour les états du bouton Normal, Surligné et Sélectionné, mais lorsque le bouton est dans l'état sélectionné et que j'appuie / le met en surbrillance, je n'ai pas vu mon image en surbrillance mais juste une image grisée. Est-il possible de définir une image pour l'état en surbrillance lorsque le bouton est sélectionné?
mon code:
[button setImage:[UIImage imageNamed:@"normal.png"] forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:@"pressed.png"] forState:UIControlStateHighlighted];
[button setImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateSelected];
quand je fais:
[button setSelected:YES];
et appuyez sur le bouton, l'image "pressé.png" ne sélectionne pas.
button.adjustsImageWhenHighlighted = NO;
abord.Réponses:
J'ai trouvé la solution: besoin d'ajouter une ligne d'addition
la source
Vous pouvez le faire dans Interface Builder.
Sélectionnez le que
UIButton
vous souhaitez définir,IB
puis accédez auattributes inspector
.Dans les captures d'écran, j'utilise un type de bouton personnalisé, mais cela n'a pas d' importance.
la source
Swift 3
Pour définir l'image de fond, nous pouvons utiliser
setBackgroundImage(_:for:)
Swift 2.x
la source
setImage
)Je pense que la plupart des affiches ici manquent complètement le point. J'ai eu le même problème. La question d'origine portait sur l'état en surbrillance d'un bouton sélectionné (COMBINAISON DES DEUX ÉTATS) qui ne peut pas être défini dans IB et revient à l'état par défaut avec un assombrissement en cours. Seule solution de travail comme un message mentionné:
la source
Si vous avez une bonne raison de le faire, cela fera l'affaire
ajoutez ces cibles:
la source
Dans Swift 3.x, vous pouvez définir l'image en surbrillance lorsque le bouton est sélectionné de la manière suivante:
la source
En un rien de temps, vous pouvez faire:
la source
Corrigez-moi si je me trompe. En faisant
vous modifiez clairement l'état des boutons sélectionnés. Alors naturellement par le code que vous avez fourni l'image sera que pour l'état sélectionné dans votre cas coché.png
la source
Si quelqu'un se demande comment cela fonctionne dans Swift, voici ma solution:
la source
Swift 3+
OU
Cela signifie que le bouton en cours dans l'
selected
état, alors vous le touchez, affichez l'highlight
état.la source
J'ai eu un problème de réglage
imageView.highlighted = NO;
(le réglage OUI a fonctionné correctement et l'image a changé pour celle en surbrillance).La solution appelait
[imageView setHighlighted:NO];
Tout a fonctionné correctement.
la source
D'où vous souhaitez appeler
La méthode:
Crédit ci-dessus à Jorge mais je l'ai amélioré un peu en donnant la solution de travail complète
la source
Xamarin C #
Faire du OU au niveau du bit ne fonctionne pas pour une raison quelconque
Les oeuvres suivantes
la source
Si vous avez besoin de la teinte en surbrillance que le système d'exploitation fournit par défaut lorsque vous appuyez et maintenez sur un bouton personnalisé pour l'état sélectionné également, utilisez cette sous-classe UIButton. Écrit dans Swift 5:
la source