1
지도에 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;
}
}
이렇게하면 지정한 비율로 주석이 삭제됩니다.
모두 한꺼번에 놓으려면 delayInterval
대신 delay
매개 변수를 0.0
으로 하드 코딩하십시오.
나는이 시도하지만, 핀의 일부는 높은 속도로 떨어지고 있지만, 다른 기본 속도로 떨어지고 ... 내가 delayInterval 0.0을 설정하려고했으나 핀은 한 번에 너무 ... – nobu86
I를 포기하지 않습니다 표시되는 문제를 정확히 복제 할 수는 없지만 별도의 배치 또는 단일 메소드 호출에 주석이 추가됩니까? 별도의 메소드 호출 인 경우 먼저 NSMutableArray에 주석을 추가 한 다음 배열을 사용하여 addAnnotations를 호출하여 한 번에 모두 추가하십시오. 또는 특수 효과가 추가되는 것과 동시에 다른 시간이 많이 걸리는 처리가 있습니까? – Anna
나는 당신이 말한 것을했습니다. NSMutableArray에 모든 핀을 추가 한 다음 addAnnotationS 메소드를 추가했습니다. 그리고 아무것도 바뀌지 않았습니다. 그리고 다른 어떤 프로세스도 동시에 진행하지 않습니다. 나는 다음과 같이하고있다. 위임을하기 전에 메소드의 모든 핀을 추가한다 : – nobu86