在我的用户单击一个按钮后,我希望该按钮在我执行网络操作期间保持按下状态。当网络操作完成后,我希望按钮恢复到默认状态。
我试过打电话 -[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;
}