Я пытался исчезнуть в MKMapView, когда мы успешно нашли адрес, и исчезнуть в представлении, когда long & lat == 0. У меня есть код в делегате:
- (void)didCompleteMapsRequestWithLatitude:(double)latitude andLongitude:(double)longitude
Простые действия работают как положено (например, setHidden: YES или setHidden: NO) в правильное время.
Моя проблема в том, что, хотя постепенное появление, кажется, работает хорошо каждый раз, когда оно вызывается, анимация исчезновения, по-видимому, не происходит. Это как если бы единственный вызов setHidden: ДА.
Мой код исчезновения следующий:
//no location found
if (location.latitude == 0 && location.longitude == 0)
{
//fade out
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationDelegate:self];
[self.map setAlpha:0.0];
[UIView commitAnimations];
[self.map setHidden:YES];
}
//we found the location on the map
else
{
[self.map setHidden:NO];
//fade in
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationDelegate:self];
[self.map setAlpha:1.0];
[UIView commitAnimations];
}
Примечание. То же самое я получаю, используя анимационные блоки с iOS 4.0.
Есть мысли?
Спасибо