2013-06-20 3 views
0

Я добавляю несколько MKCircle и одну MKPolyline в MKMapView. В анимацииWithDuration я меняю альфу моего экземпляра MKMapView с 1 ​​на 0. MKMapView исчезает, как ожидалось, но в начале анимации MKOverlays (MKCircle и MKPolyline) прыгают на несколько пикселей.MKOverlay прыгает при изменении альфы MKMapView в анимации

 self.routeView.alpha = 0;   
     [UIView animateWithDuration:2 animations:^{ 
      self.routeView.alpha = 0; 
     } completion:^(BOOL finished) {  
     }]; 

Я добавил пример видео, показывающий проблему. В этом видео вы видите изменение альфы от 1 до 0 за 2 секунды, после окончания анимации вы увидите, как оживить ее до 1 секунды за 2 секунды. В начале первой анимации и в конце второго вы видите небольшой прыжок. example video

В симуляторе вы не можете воспроизвести эту проблему, потому что накладки сразу исчезают. Вы должны запустить его на устройстве.

Кто-нибудь знает, что вызывает эту проблему и как ее можно решить?

ответ

0

Попробуйте преобразовать ваш блок анимации в старый синтаксис. Для моего случая стиль блока не работал, но старый стиль. Это фиксировало мою анимацию альфы.

[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:2]; 

self.routeView.alpha = 0.0; 

[UIView commitAnimations]; 
Смежные вопросы