マップに 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