Метод calloutAccestoryControlTapped не будет использоваться - PullRequest
0 голосов
/ 26 марта 2010

У меня проблема с использованием - (void) mapView: (MKMapView *) mapView annotationView: (MKAnnotationView *) представление calloutAccesoryControlTapped: (UIControl *) метод управления. Я попробовал много способов проверить это, но это просто не появится. Может ли кто-нибудь найти ошибку

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

1 Ответ

0 голосов
/ 11 февраля 2011

Убедитесь, что вы реализовали

MKMapViewDelegate protocol

в родительском ViewController.

...