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