我正在创建一个在地图上显示大量图钉的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委托根本不会被调用。如果你需要我,我会很乐意发布额外的代码,我只是想让事情变得尽可能简单。
我这样做错了吗?我应该使用一些不同的方法来实现我需要做的事情吗?感谢
答案 0 :(得分:8)
您没有设置canShowCallout
canShowCallout - >一个布尔值,指示注释视图是否能够在标注气泡中显示额外信息。
讨论 - > 如果此属性的值为YES,则当用户点击选定的注释视图时会显示标准的标注气泡
如需了解更多信息,请访问MKAnnotationView Class Reference
答案 1 :(得分:5)
好吧,我是傻瓜,在添加引脚时,我需要做的就是设置引脚属性 canShowCallout :
annotationView.canShowCallout = NO;