Kullanıcım bir düğmeyi tıkladıktan sonra, bir ağ işlemi gerçekleştirdiğim süre boyunca bu düğmenin basılı kalmasını istiyorum. Ağ işlemi tamamlandığında, düğmenin varsayılan durumuna dönmesini istiyorum.
[UIButton setSelected:YES]
Aramayı denedim - düğmeye basıldıktan hemen sonra ( [UIButton setSelected:NO]
ağ işlemim bittikten sonra - karşılık gelen bir çağrı ile ) ama hiçbir şey yapmıyor gibi görünüyor. Ararsam da aynı şey setHighlighted:
.
Sanırım ağ operasyonu süresince seçilen bir durumu belirtmek için arka plan görüntüsünü değiştirmeyi deneyebilirim, ancak bu bir hack gibi görünüyor. Daha iyi bir öneriniz var mı?
Kodum şöyle görünüyor:
- (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;
}