Pin animatesDrop mapView-iOS

时间:2012-11-08 04:51:12

标签: ios mkannotation

我已经实现了如下所示的代码。我想添加具有掉落效果的动画。但是,一旦我键入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;
}

2 个答案:

答案 0 :(得分:6)

您的“pinView”是MKAnnotationView,但animatesDrop仅与MKPinAnnotationView相关联。因此它不承认。如果您希望将注释更改为动画,则需要将注释更改为MKPinAnnotationView

希望有所帮助

答案 1 :(得分:-1)

使用此

 Objanno.animatesDrop = YES;