Mapkit 用法,这是我的方案:当用户选择地图上的一个图钉,然后选择与该图钉关联的标注时,用户将被带到另一个 ViewController,该控制器将显示与其选择相关的信息。
要为目标视图控制器设置数据,我正在使用
prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
这是有效的,但我有一个问题,我不确定选择了哪个注释。以下代码说明了我的问题 - 代码有效,但我将其硬编码为"objectAtIndex:0"而不是 objectAtIndex:"无论他们选择什么引脚"
[self.myImageViewController setAddressMessage: [[self.annotations objectAtIndex:0] houseAddress]];
在 prepareForSegue 中,我如何知道他们选择了哪个引脚?
不知道代码的其余部分,我不确定这是否有效,但这就是我在类似情况下找到注释的方式,其中注释视图标注上的按钮被按下。
-(void)buttonInCalloutWasTapped:(UIButton *)button {
if ([[[[button superview] superview] class] isSubclassOfClass:[MKAnnotationView class]]) {
MKAnnotation *annotation = [(MKPinAnnotationView *)[[button superview] superview] annotation];
[self.myImageViewController setAddressMessage: [annotation houseAddress]];
}
}