2016-05-11 5 views
3

MKMapViewに表示したいピンが500個ほどあります。MapViewで500ピンを一度にドロップする方法

しかし、mapView.addAnnotations(places)placesはMKAnnotationオブジェクトの配列です)を呼び出すと、ピンが1つずつゆっくりとドロップされます。

  • ドロップ負荷
  • 一度にすべてのピンがドロップアニメーションこれが可能な完全

をキャンセル:

私がするかたいですか?

答えて

6

あなたはMapViewの上、一度にすべてのピンをドロップしますNoにアニメーションプロパティを設定することで、あなたのMKAnnotationViews

+0

ありがとうございました。他の人を助けることができるなら、これは 'mapView:viewForAnnotation:'デリゲートメソッドで行わなければなりません。 –

1

NO(false)へのanimatesDropプロパティを設定する必要があります。

MKAnnotationView *annotationView =[[MKAnnotationView alloc]init]; 
annotationView.animatesDrop=FALSE; 
0

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; 
    } 
} 
関連する問題