如何通过点击detailDiclosureButton获取详细信息

时间:2011-07-25 13:29:14

标签: iphone objective-c ios ios4 mapkit

在我的应用中有多个注释。

MapLocation *annotation = [[MapLocation alloc] initWithDictionary:tempDict];
[mapView addAnnotation:annotation];
[annotation release];

MapLocation是我保存城市,邮政编码,国家,地址等信息的类。

每个注释的标注中都有detailDisclosureButton。此按钮加载antoher视图(ATM_Details)。当我tapp detailDisclosureButton时,我需要将与该注释相对应的信息传递给ATM_Details类。

这个问题让我疯狂。任何帮助将不胜感激。

我想用方法

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control 

但是我不知道在这个方法中要实现什么。

2 个答案:

答案 0 :(得分:2)

MKMapViewDelegate 有一个方法 mapView:annotationView:calloutAccessoryControlTapped:。您可以通过阅读视图参数的注释属性来实现此方法并获取相应的注释。

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control {

    MapLocation *annotation = (MapLocation *) [view annotation];
    // Get the necessary data from the annotation and pass it to ATM_Details

答案 1 :(得分:0)

您可以为每个按钮分配tagValue,并基于tagValue您可以将相应的信息传递给另一个视图。