1

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

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

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

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

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

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

4

1 回答 1

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]];
    }
}
于 2012-04-27T16:16:54.507 回答