2011-01-26 69 views
3

我正在尝试为地图创建自定义注释。我遇到的问题是,我无法使注释一个接一个地下降。所有引脚同时下降。这是didAddAnnotations的委托代码。您能否帮我重写代码,以便我可以使自定义注释一个接一个地放下......就像我们使用默认注释时发生的那样。提前致谢....!!!!MapView自定义注释掉落

- (void) mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views { 

    CGRect visibleRect = [mapView annotationVisibleRect]; 

    for (MKAnnotationView *view in views) { 
     CGRect endFrame = view.frame; 

     CGRect startFrame = endFrame; 
     startFrame.origin.y = visibleRect.origin.y - startFrame.size.height; 
     view.frame = startFrame; 

     [UIView beginAnimations:@"drop" context:NULL]; 
     [UIView setAnimationDuration:1]; 

     view.frame = endFrame; 

     [UIView commitAnimations]; 
    } // end of for 
} // end of delegate 

回答

3

你可以添加变得更长一点在循环的每次迭代中,这样的延迟:

double delay = 0.0; 
for (MKAnnotationView *view in views) { 
    CGRect endFrame = view.frame; 
    CGRect startFrame = endFrame; 
    startFrame.origin.y = visibleRect.origin.y - startFrame.size.height; 
    view.frame = startFrame; 
    [UIView beginAnimations:@"drop" context:NULL]; 
    [UIView setAnimationDuration:1.0]; 
    [UIView setAnimationDelay:delay]; 
    view.frame = endFrame; 
    [UIView commitAnimations]; 
    delay += 0.1; 
} 
+0

由于一吨。有用...!!!! – bp581 2011-01-26 19:47:37