UIButton Surbrillance pas à l'affiche lors d'un clic sur un certain UIButton
Je veux que mon UIButton la surbrillance lorsque je clique sur un bouton qui est déjà sélectionnée.
Essentiellement dans la mise en surbrillance de l'état-je appliquer un *.png image de mon UIButton backgroundImage pour donner une enfoncé effet.
Mais si le bouton est déjà dans l'État Sélectionné Lorsque je clique sur nouveau, je ne peux pas voir la mise en surbrillance de l'état, mais il va directement à l'état normal!
De regarder le Problème--> La vidéo de la Question!
Aider s'il vous plaît
//0 init UIButton
UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(x, y, aSide, aSide)];
//1 Give it a backgroundColor
[button setBackgroundColor:aColor];
[..]
//2 Set titleLabel and its style
[button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[button setTitleColor:[UIColor redColor] forState:UIControlStateSelected];
[button setTitleColor:[UIColor grayColor] forState:UIControlStateHighlighted];
UIImage *shadowImage = [UIImage imageNamed:kBtnShadow];
shadowImage = [shadowImage stretchableImageWithLeftCapWidth:floorf(shadowImage.size.width/2) topCapHeight:floorf(shadowImage.size.height/2)];
[button setBackgroundImage:shadowImage forState: UIControlStateHighlighted];
[button setTitle:aLabel forState: UIControlStateNormal];
//3 Assign tag and Action
[button setTag:tag];
[button addTarget:target action:a forControlEvents:UIControlEventTouchUpInside];
OriginalL'auteur luca | 2013-06-03
Vous devez vous connecter pour publier un commentaire.
Les différents états:
UIControlStateNormal
,UIControlStateSelected
, et(UIControlStateSelected | UIControlStateHighlighted)
sont tous distincts. Si vous voulez que votreshadowImage
d'appliquer à la fois dans le (seul) a mis en évidence l'état et dans la mise en surbrillance+état sélectionné, vous devez également définir:Il semble que même si vous choisissez l'image de fond pour l'état sélectionné et mis en évidence dans de l'IB,vous obtenez un système d'image en surbrillance(gris foncé) lorsque adjustsImageWhenHighlighted yes(OUI) (valeur par défaut est OUI) ou une image normale.Donc, il est nécessaire de code Aaron d'Or de la réponse.
OriginalL'auteur Aaron Golden
Dans
swift
ce serait:OriginalL'auteur Roland Keesom
Dans Swift v3 (Nov. 2016):
OriginalL'auteur David DelMonte
Swift 4.2
Applicable par programmation uniquement.
OriginalL'auteur Schiopu Evgheni