После того, как мой пользователь нажимает кнопку, я бы хотел, чтобы эта кнопка оставалась нажатой во время выполнения сетевой операции. Когда сетевая операция будет завершена, я хочу, чтобы кнопка вернулась в состояние по умолчанию.
Я пробовал позвонить - [UIButton setSelected:YES]
сразу после нажатия кнопки (с соответствующим вызовом - [UIButton setSelected:NO]
после завершения моей сетевой операции), но, похоже, он ничего не делает. То же самое, если я позвоню setHighlighted:
.
Я полагаю, я мог бы попробовать заменить фоновое изображение, чтобы обозначить выбранное состояние на время сетевой операции, но это похоже на взлом. Есть лучшие предложения?
Вот как выглядит мой код:
- (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;
}