确定在地图上为segue选择了哪个引脚

时间:2012-04-27 14:28:19

标签: ios mapkit pushpin callout

Mapkit用法,这是我的场景:当用户选择我的地图上的一个图钉,然后选择与该图钉相关联的标注时,用户将被带到另一个ViewController,该控件将显示与其选择相关的信息

要设置destinationViewController的数据,我正在使用

   prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

这是有效的,但是我有一个问题,我不确定选择了哪个注释。 下面的代码说明了我的问题 - 代码可以工作,但我把它硬编码为“objectAtIndex:0”而不是objectAtIndex:“他们选择的任何引脚”

    [self.myImageViewController setAddressMessage:  [[self.annotations objectAtIndex:0] houseAddress]];        

在prepareForSegue中,我如何知道他们选择了哪个引脚?

1 个答案:

答案 0 :(得分:4)

我不知道你的其余代码,我不确定这是否会起作用,但这就是我在注释视图的标注按钮被按下的类似情况下找到注释的方式。

-(void)buttonInCalloutWasTapped:(UIButton *)button {
    if ([[[[button superview] superview] class] isSubclassOfClass:[MKAnnotationView class]]) {
        MKAnnotation *annotation = [(MKPinAnnotationView *)[[button superview] superview] annotation];
        [self.myImageViewController setAddressMessage:  [annotation houseAddress]];
    }
}