Depois que meu usuário clicar em um botão, gostaria que ele permanecesse pressionado durante o tempo em que realizasse uma operação de rede. Quando a operação da rede for concluída, quero que o botão volte ao estado padrão.
Eu tentei chamar - [UIButton setSelected:YES]
logo depois de apertar o botão (com uma chamada correspondente para - [UIButton setSelected:NO]
depois que minha operação de rede terminar), mas não parece fazer nada. A mesma coisa se eu ligar setHighlighted:
.
Suponho que poderia tentar trocar a imagem de fundo para denotar um estado selecionado durante a operação de rede, mas isso parece um hack. Alguma sugestão melhor?
Aqui está a aparência do meu código:
- (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;
}