У меня на карте около 30 аннотаций, и я хочу ускорить анимацию опускания.
Можно ли ускорить удаление аннотаций в MKMapView или удалить все сразу?
У меня на карте около 30 аннотаций, и я хочу ускорить анимацию опускания.
Можно ли ускорить удаление аннотаций в MKMapView или удалить все сразу?
Вам нужно будет реализовать собственную анимацию перетаскивания в методе делегата didAddAnnotationViews
. Вы также должны установить animatesDrop
на NO
, чтобы избежать возможной двойной анимации.
- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)annotationViews
{
NSTimeInterval delayInterval = 0;
for (MKAnnotationView *annView in annotationViews)
{
CGRect endFrame = annView.frame;
annView.frame = CGRectOffset(endFrame, 0, -500);
[UIView animateWithDuration:0.125
delay:delayInterval
options:UIViewAnimationOptionAllowUserInteraction
animations:^{ annView.frame = endFrame; }
completion:NULL];
delayInterval += 0.0625;
}
}
При этом аннотации удаляются с указанной вами скоростью.
Чтобы удалить их все сразу, жестко закодируйте параметр delay
в 0.0
вместо увеличивающегося delayInterval
.