选择MapView注释两次

Phi*_*ard 4 iphone mkmapview mkannotationview ios

我的iPhone应用程序有一个mapview,其中包含大量可供用户选择的位置.我希望他能够点击其中一个注释来显示其标注视图,然后再次实际选择它.问题是didSelectAnnotationView只被调用一次.

那么如何检测已选择注释的选择?或者,如何在不隐藏标注视图的情况下取消选择注释?用户可以通过在再次选择注释之前取消选择注释来解决此问题,但这不是直观的,我想避免他必须这样做.

Moh*_*has 8

我刚刚找到了以下代码的解决方案:

-(void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
{
    [mapview deselectAnnotation:view.annotation animated:NO];

}
Run Code Online (Sandbox Code Playgroud)

这样,取消选择所选注释,您可以再次选择它.


Bri*_*ing 0

注释无法再次从选定状态移至选定状态。

您可以改为使用自定义 mkannotationview,在其中覆盖 setSelected,并在视图上安装 UITapGestureRdcognizer,并在取消选择视图时将其删除。

连接已识别的设备以执行您想要的点击时选择状态的操作。