MKAnnotationView Click 委托在第一次后不调用

MKAnnotationView Click delegate not calling after first time

我添加了只有一张图片的默认 MKAnnotationView。注释绘制正确。 现在来一个问题。每次我点击一个注释视图时,它第一次工作,然后我再次点击它,委托没有被调用,但是如果我点击任何其他注释视图委托被调用。

我看到关于设置 canShowCallout = false 并将其设置为 false 的评论。

到目前为止我已经做了以下事情

1。设置 canShowCallout = false

2。为注释

添加设置 Title

如果有人可以分享解决方案就太好了?

我在我的项目中也遇到过类似的错误。在我的例子中,问题出在 CalloutView 上。即使您设置 canShowCallOut == false 或根本不设置 canShowCallOut 值,当您单击注释视图时,标注视图也会以某种方式以隐藏状态呈现。所以用户不承认这一点。因此,当您第二次单击注释视图时,由于标注仍然存在,因此不会触发委托方法。

我在完成所有处理后通过调用mapview的deselectAnnotation(_:animated:)方法解决了我的问题 mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) 方法。因此,不可见的标注视图将被取消,注释将再次可点击。

希望这会有所帮助