У меня есть что-то вроде 30 аннотаций на моей карте, и я хочу ускорить отбрасывание анимации.Возможно ли ускорить падение аннотации в MKMapView?
Возможно ли ускорить падение аннотации в MKMapView или удалить все из них сразу?
У меня есть что-то вроде 30 аннотаций на моей карте, и я хочу ускорить отбрасывание анимации.Возможно ли ускорить падение аннотации в MKMapView?
Возможно ли ускорить падение аннотации в 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
.
Я пробовал это, но некоторые штыри сбрасываются с высокой скоростью, но другие выпадают со скоростью по умолчанию ... Я попытался установить 0.0 на delayInterval, но штыри тоже не отбрасываются одновременно ... – nobu86
I я не могу точно дублировать проблемы, которые вы видите, но: добавляются ли аннотации отдельными партиями или одним вызовом метода? Если в отдельных вызовах метода попробуйте сначала добавить аннотации в NSMutableArray, а затем вызовите addAnnotations с массивом, чтобы добавить все сразу. Или у вас есть какая-то другая длительная обработка, проходящая одновременно с добавлением аннотаций? – Anna
Я сделал то, что вы сказали. Добавил все контакты в NSMutableArray, а затем добавил его с помощью метода addAnnotationS. И ничего не изменилось. И у меня не будет другого процесса в одно и то же время. Я делаю что-то вроде этого: , добавляя все контакты в методе до его делегирования: – nobu86