После того, как мой пользователь нажмет кнопку, я бы хотел, чтобы эта кнопка оставалась нажатой в течение времени, когда я выполняю сетевую операцию. Когда сетевая операция завершена, я хочу, чтобы кнопка вернулась к своему состоянию по умолчанию.
Я пробовал звонить - [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;
}