Пользовательская анимация падения булавки для MKAnnotations

Кто-нибудь знает, как получить эффект "последовательного" падения? Я использовал этот код answer, но он анимирует ВСЕ аннотации сразу. Пины не выпадают по одному, как при стандартной анимации падения, используемой с элементами MKPinAnnotation.

Я также попытался добавить вызов [UIView setAnimationDelay:offset], но это просто задерживает всю анимацию блока.

Любые мысли по этому поводу будут оценены.


person TeodorC    schedule 21.03.2011    source источник


Ответы (1)


это может помочь вам начать работу

- (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];


    }
}
person johndpope    schedule 11.08.2011