Пользовательская анимация удаления пин-кода для MKAnnotations - PullRequest
2 голосов
/ 21 марта 2011

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

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

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

1 Ответ

0 голосов
/ 11 августа 2011

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

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


    }
}
...