попытка нажать на подробный вид, когда правая кнопка нажата на аннотации карты в xcode

Я хотел отобразить подробное представление после нажатия правой кнопки на аннотации карты в 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];

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

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


person jarus    schedule 07.03.2012    source источник
comment
Вы можете найти полезную информацию в этом вопросе stackoverflow.com/questions/8285153/   -  person Hari    schedule 22.03.2012


Ответы (2)


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

person Scott Berrevoets    schedule 08.03.2012
comment
хорошо, у меня есть detailViewController, как я могу отобразить это представление при нажатии правой кнопки. - person jarus; 08.03.2012

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

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