0

以下のようなコードを実装しました。ドロップ効果のあるアニメーションを追加したいのですが。ただし、pinView.animatesDropと入力すると、認識されません。私は自分が間違っていることを理解できませんでしたか?

 - (MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id <MKAnnotation>)annotation {
       MKAnnotationView *pinView=nil;
        if(![annotation isKindOfClass:[Annotation class]]) // Don't mess user location
            return nil;

    static NSString *defaultPinID = @"StandardIdentifier";
    pinView = (MKAnnotationView *)[self.mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
    if (pinView == nil){
        pinView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:defaultPinID];

    }

    // Build our annotation
    if ([annotation isKindOfClass:[Annotation class]]) {
        Annotation *a = (Annotation *)annotation;

        pinView.image = [ZSPinAnnotation pinAnnotationWithColor:a.color];// ZSPinAnnotation Being Used
        pinView.annotation = a;
        pinView.enabled = YES;
        pinView.centerOffset=CGPointMake(6.5,-16);
        pinView.calloutOffset = CGPointMake(-11,0);
            //pinView.animatesDrop = YES;


    }

    pinView.canShowCallout = YES;
    UIButton *rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
    [rightButton setTitle:annotation.title forState:UIControlStateNormal];
    [pinView setRightCalloutAccessoryView:rightButton];
    pinView.leftCalloutAccessoryView = [[UIView alloc] init];
    pinView.leftCalloutAccessoryView=nil;

    /*UIButton *leftButton = [UIButton buttonWithType:UIButtonTypeInfoLight];
    [leftButton setTitle:annotation.title forState:UIControlStateNormal];
    [pinView setLeftCalloutAccessoryView:leftButton];*/
    return pinView;
}
4

2 に答える 2

6

「pinView」はですが、MKAnnotationViewにのみanimatesDrop関連付けられてMKPinAnnotationViewいます。したがって、それは認識しません。MKPinAnnotationViewアニメーションでドロップしたい場合は、アノテーションをに変更する必要があります。

それが役に立てば幸い

于 2012-11-08T04:57:30.327 に答える
-1

これを使って

 Objanno.animatesDrop = YES;
于 2017-02-22T11:55:34.553 に答える