Dans l'application Maps, lorsque vous appuyez sur le bouton de suivi dans le coin inférieur gauche, il indique que vous l'avez appuyé. Cela le fait se comporter comme un bouton radio, et il va briller une fois que vous déplacez la carte. Y a-t-il un moyen simple de mettre un bouton dans l'état pressé?Comment faire un UIBarButtonItem 'lueur'?
Répondre
Définissez son style sur UIBarButtonItemStyleDone.
Je crois que vous recherchez la propriété showsTouchWhenHighlighted pour la classe UIButton. Essayez ceci.
myButton.showsTouchWhenHighlighted = YES;
La question concerne un UIBarButtonItem pas un UIButton, donc ce n'est pas pertinent. – Emil
Il n'est pas clair d'après les détails de la question que c'est le cas. Et de toute façon, vous pouvez créer un UIBarButtonItem avec un UIButton, donc je crois que ma réponse est pertinente. UIBarButtonItem * buttonItem = [[UIBarButtonItem alloc] initWithCustomView: monBouton]; – Drewsmits
Je cherchais un effet pour UIButton, merci pour votre réponse! – mxg
Utilisez UIBarButtonItemStylePlain
.
UIBarButtonItemStylePlain
quand on tape des effets brillants.
Vous pouvez faire son CustomView un bouton personnalisé comme celui-ci:
`
UIImage *image = [UIImage imageNamed:@"someimage"];
UIImage *imageHL = [UIImage imageNamed:@"someimage_selected"];
button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:image forState:UIControlStateNormal];
[button setImage:imageHL forState:UIControlStateHighlighted];
[button addTarget:self action:@selector(doStuff:) forControlEvents:UIControlEventTouchUpInside];
myBarButtonItem.customView = button;
`
Si vous avez un UIBarButtonItem avec image/text
ou UIBarButtonSystemItem
, puis utilisez UIBarButtonItemStylePlain
barButton.style = UIBarButtonItemStylePlain;
Si vous avez un UIBarButtonItem avec une vue personnalisée, puis, pour chaque UIButton
doit ajouter le code suivant:
uiButton.showsTouchWhenHighlighted = YES;
UIBarButtonItemStyleDone est un bouton « bleu ». Je ne pense pas que ce soit une lueur, non? – bentford
Eh bien, ce n'est pas techniquement une lueur, mais c'est ce que fait l'application Maps (comme mentionné dans la question). –
Cela atteint le bleu, mais pas la lueur. –