0

我在使用 -(void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccesoryControlTapped:(UIControl *)control 方法时遇到问题。我尝试了很多方法来测试它,但它不会出现。谁能找到错误

-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)anno{
    MKPinAnnotationView *retval=nil;
    if(retval ==nil){
        retval=[[[MKPinAnnotationView alloc]initWithAnnotation:anno reuseIdentifier:@"Annotations"]autorelease];
        UIButton *disclosure=[UIButton buttonWithType:UIButtonTypeDetailDisclosure];
        retval.rightCalloutAccessoryView=disclosure;
        [retval setPinColor:MKPinAnnotationColorGreen];
        retval.animatesDrop=YES;
        retval.canShowCallout=YES;
    }
    return retval;
}
-(void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccesoryControlTapped:(UIControl *)control{
    NSLog(@"Tap");
    PhotoDetail *detail=[[PhotoDetail alloc]initWithNibName:@"PhotoDetail" bundle:nil];
    UINavigationController *nav=[[UINavigationController alloc]initWithRootViewController:detail];
    [self presentModalViewController:nav animated:YES];
}
4

1 回答 1

0

确保您实施了

MKMapViewDelegate protocol

在父视图控制器中。

于 2011-02-11T17:14:36.327 回答