Une fois que mon utilisateur a cliqué sur un bouton, j'aimerais que ce bouton reste enfoncé pendant le temps que j'effectue une opération réseau. Une fois l'opération réseau terminée, je souhaite que le bouton revienne à son état par défaut.
J'ai essayé d'appeler - [UIButton setSelected:YES]
juste après avoir appuyé sur le bouton (avec un appel correspondant à - [UIButton setSelected:NO]
après la fin de mon opération réseau), mais cela ne semble rien faire. Même chose si j'appelle setHighlighted:
.
Je suppose que je pourrais essayer d'échanger l'image d'arrière-plan pour indiquer un état sélectionné pendant la durée de l'opération réseau, mais cela semble être un piratage. De meilleures suggestions?
Voici à quoi ressemble mon code:
- (IBAction)checkInButtonPushed
{
self.checkInButton.enabled = NO;
self.checkInButton.selected = YES;
self.checkInButton.highlighted = YES;
[self.checkInActivityIndicatorView startAnimating];
[CheckInOperation startWithPlace:self.place delegate:self];
}
- (void)checkInCompletedWithNewFeedItem:(FeedItem*)newFeedItem wasNewPlace:(BOOL)newPlace possibleError:(NSError*)error;
{
[self.checkInActivityIndicatorView stopAnimating];
self.checkInButton.enabled = YES;
self.checkInButton.selected = NO;
self.checkInButton.highlighted = NO;
}