我正在创建一个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委托.如果你需要我,我会很乐意发布额外的代码,我只是想让事情变得尽可能简单.
我做错了吗?我应该使用一些不同的方法来实现我需要做的事情吗?谢谢
解决方法
你没有设置canShowCallout
canShowCallout – >一个布尔值,指示注释视图是否能够在标注气泡中显示额外信息.
讨论 – >
如果此属性的值为YES,则在用户点击选定的注释视图时会显示标准的标注气泡
欲了解更多信息,您可以访问MKAnnotationView Class Reference