пытается выдвинуть подробный вид, когда правая кнопка нажата на аннотации mapview в xcode - PullRequest
0 голосов
/ 08 марта 2012

Я хотел отобразить подробный вид после нажатия правой кнопки на аннотации mapview в xcode, но не смог отобразить представление, мой код:

- (void)showDetails:(id)sender
{
  [self.navigationController setToolbarHidden:YES animated:NO];

[self.navigationController pushViewController:self.detailViewController animated:YES];

}



- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
static NSString* BridgeAnnotationIdentifier = @"bridgeAnnotationIdentifier";

MKPinAnnotationView* customPinView = [[[MKPinAnnotationView alloc]
                                       initWithAnnotation:annotation reuseIdentifier:BridgeAnnotationIdentifier] autorelease];
customPinView.pinColor = MKPinAnnotationColorPurple;
customPinView.animatesDrop = YES;
customPinView.canShowCallout = YES;

UIButton* rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
NSLog(@"%@",rightButton);
[rightButton addTarget:self
                action:@selector(showDetails:)
      forControlEvents:UIControlEventTouchUpInside];
customPinView.rightCalloutAccessoryView = rightButton;
return customPinView;//[kml viewForAnnotation:annotation];
}

Метод showDetails вызывается, ноне может толкнуть detailViewController наверх,

[self.navigationController pushViewController:self.detailViewController animated:YES];

этот код должен был сдвинуть представление подробностей наверх и отобразить detailView, но это не радует,

любая помощь будет принята с благодарностью,то, что я хотел сделать, - это когда кто-нибудь нажимает на правую кнопку аннотации на виде карты, я хотел отобразить подробный вид, заранее поблагодарив вас.

Ответы [ 2 ]

1 голос
/ 08 марта 2012

Не требуется цель / действие, есть метод делегата, который вызывается при нажатии на вспомогательное представление выноски: mapView:annotationView:calloutAccessoryControlTapped:

0 голосов
/ 13 марта 2012

Спасибо, за вашу помощь я могу открыть detailViewController, изменив мой метод showDetails

- (void)showDetails:(id)sender
    {
      detailViewController *dvController = [[detailViewController alloc] initWithNibName:nil bundle:nil];
      [self presentModalViewController:dvController animated:YES];
      [dvController release];
      dvController = nil;
    }
...