Sau khi người dùng của tôi nhấp vào một nút, tôi muốn nút đó tiếp tục được đẩy trong thời gian tôi thực hiện thao tác mạng. Khi hoạt động mạng hoàn tất, tôi muốn nút quay lại trạng thái mặc định.
Tôi đã thử gọi - [UIButton setSelected:YES]
ngay sau khi nhấn nút (với một cuộc gọi tương ứng tới - [UIButton setSelected:NO]
sau khi kết thúc hoạt động mạng của tôi) nhưng dường như không hiệu quả. Điều tương tự nếu tôi gọi setHighlighted:
.
Tôi cho rằng tôi có thể thử hoán đổi hình nền để biểu thị trạng thái đã chọn trong suốt thời gian hoạt động của mạng, nhưng điều đó có vẻ giống như một vụ hack. Bất kỳ đề xuất tốt hơn?
Đây là mã của tôi trông như thế nào:
- (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;
}