ユーザーがボタンをクリックした後、ネットワーク操作を実行している間、そのボタンを押したままにしておきたいです。ネットワーク操作が完了したら、ボタンをデフォルトの状態に戻したい。
[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;
}