用户单击按钮后,我希望在执行网络操作期间该按钮保持按下状态。网络操作完成后,我希望按钮返回其默认状态。
我曾尝试[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;
}