MKAnnotations的自定义引脚放置动画

时间:2011-03-21 13:28:50

标签: iphone mapkit mkmapview mkannotation

有谁知道如何获得“连续”掉落效果?我使用了这个answer's代码  但是这会立即激活所有注释。这些引脚不会像MKPinAnnotation项目使用的标准投影动画那样一次丢弃一个。

我还尝试添加对[UIView setAnimationDelay:offset]的调用,但这只会延迟整个块动画。

对此的任何想法将不胜感激。

1 个答案:

答案 0 :(得分:0)

这可能会帮助您入门

- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views {
    static BOOL seeded = NO;
    if(!seeded)
    {
        seeded = YES;
        srandom(time(NULL));
    }

    MKAnnotationView *aV;
    for (aV in views) {
        if([aV isKindOfClass:[MKUserLocation class]]) continue;

        CGRect endFrame = aV.frame;

        aV.frame = CGRectMake(aV.frame.origin.x, aV.frame.origin.y, aV.frame.size.width/2, aV.frame.size.height/2);

        [UIView beginAnimations:nil context:NULL];

        CGFloat randTime = (CGFloat) random()/(CGFloat) RAND_MAX;
        [UIView setAnimationDuration:randTime];
        [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
        [aV setFrame:endFrame];
        [UIView commitAnimations];


    }
}