【发布时间】:2010-12-19 14:12:29
【问题描述】:
在我的用户单击一个按钮后,我希望该按钮在我执行网络操作期间保持按下状态。当网络操作完成后,我希望按钮恢复到默认状态。
我尝试在按钮按下后立即调用 -[UIButton setSelected:YES](在我的网络操作完成后相应地调用 -[UIButton setSelected:NO])但它似乎没有做任何事情。如果我打电话给setHighlighted:,也是一样。
我想我可以尝试在网络操作期间换出背景图像以表示选定状态,但这似乎是一种 hack。有更好的建议吗?
我的代码如下所示:
- (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;
}
【问题讨论】: