Bonjour, je crée des customUIButtons dans mon application en utilisant le code suivant.UIButton conserve son éclat après avoir été touché
+ (NSArray *) createButtonItemNormalImage:(UIImage *)normalImage
highlightImage:(UIImage *)highlightImage
disabledImage:(UIImage *)disabledImage
touchUpSelector:(SEL)selector
target:(id)target
{
// HighlightImage is not used. Highlight is shown using iOS glow
UIButton *uiButton = [UIButton buttonWithType:UIButtonTypeCustom];
uiButton.bounds = CGRectMake(0,
0,
normalImage.size.width,
normalImage.size.height);
[uiButton setImage:normalImage
forState:UIControlStateNormal];
if (disabledImage)
{
[uiButton setImage:disabledImage
forState:UIControlStateDisabled];
}
[uiButton addTarget:target
action:selector
forControlEvents:UIControlEventTouchUpInside];
uiButton.showsTouchWhenHighlighted = YES;
UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithCustomView:uiButton];
return [NSArray arrayWithObjects:buttonItem, uiButton, nil];
}
J'ai fait un bouton d'annulation en utilisant la fonction ci-dessus. Le bouton d'annulation amène l'utilisateur d'un écran à un autre écran. Le problème est quand je reviens au premier écran le bouton d'annulation est toujours brillant. J'ai déjà vu ce problème mais aussi un appel à [self.view setNeedsLayout]
pour le résoudre.
Pourquoi cela arrive-t-il et quelle serait la bonne façon de le résoudre? Merci!
uiButton.showsTouchWhenHighlighted = OUI; TO uiButton.showsTouchWhenHighlighted = NON; –
@DarshanKunjadiya Je veux que le bouton ne brille que lorsqu'il est touché. Si vous définissez uiButton.showsTouchWhenHighlighted = NO, le bouton ne s'allume pas du tout. Le problème est qu'il brille même lorsqu'il n'est pas touché. – shshnk
J'ai le même problème avec juste l'un des six boutons sur une vue. Tous les six sont configurés de manière identique, mais pour une raison quelconque, un seul d'entre eux ne parvient pas à "déglacer" après avoir été touché. Très frustrant. J'ai régénéré le bouton offensant plusieurs fois mais rien ne semble résoudre le problème. –