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