3

我正在创建一个在地图上显示大量图钉的 iPhone 应用程序。我需要该应用程序推送另一个视图,该视图将显示该位置的大量信息,当点击该图钉时。

在我的 viewDidAppear 中,我有一段代码设置引脚的标题和副标题值,仅用于测试目的。

-(void)viewDidAppear:(BOOL)animated
{
            pin.title = @"Some title";
            pin.subtitle = @"Some subtitle";
}

在我的 didSelectAnnotationView 委托中,我有一些类似的东西

- (void)mapView:(MKMapView *)mapView
didSelectAnnotationView:(MKAnnotationView *)view
{    
    [self performSegueWithIdentifier:@"showPinDetails" sender:self];    
}

现在,当我点击图钉时,会出现一个短暂的弹出窗口,在弹出窗口中显示标题和副标题,然后 segue 推送详细信息视图。当我点击后退按钮以返回地图视图时,弹出窗口仍然可见。我怎样才能以某种方式完全隐藏或禁用弹出窗口?如果我不设置标题和副标题值,则根本不会调用 didSelectAnnotationView 委托。如果您需要我,我很乐意发布额外的代码,我只是想让事情尽可能简单。

我做错了吗?我应该使用一些不同的方法来实现我需要做的事情吗?谢谢

4

2 回答 2

9

你没有设置canShowCallout

canShowCallout -> 一个布尔值,指示注释视图是否能够在标注气泡中显示额外信息。

讨论-> 如果此属性的值为 YES,则当用户点击选定的注释视图时会显示标准标注气泡

有关更多信息,您可以访问MKAnnotationView 类参考

于 2012-12-09T15:02:33.073 回答
5

好的,我很愚蠢,添加引脚时我需要做的就是设置引脚属性canShowCallout

annotationView.canShowCallout = NO;
于 2012-12-09T13:49:24.417 回答