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)
方法。因此,不可见的标注视图将被取消,注释将再次可点击。
希望这会有所帮助
我添加了只有一张图片的默认 MKAnnotationView。注释绘制正确。 现在来一个问题。每次我点击一个注释视图时,它第一次工作,然后我再次点击它,委托没有被调用,但是如果我点击任何其他注释视图委托被调用。
我看到关于设置 canShowCallout = false
并将其设置为 false 的评论。
到目前为止我已经做了以下事情
1。设置 canShowCallout = false
2。为注释
添加设置Title
值
如果有人可以分享解决方案就太好了?
我在我的项目中也遇到过类似的错误。在我的例子中,问题出在 CalloutView 上。即使您设置 canShowCallOut == false
或根本不设置 canShowCallOut
值,当您单击注释视图时,标注视图也会以某种方式以隐藏状态呈现。所以用户不承认这一点。因此,当您第二次单击注释视图时,由于标注仍然存在,因此不会触发委托方法。
我在完成所有处理后通过调用mapview的deselectAnnotation(_:animated:)
方法解决了我的问题
mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView)
方法。因此,不可见的标注视图将被取消,注释将再次可点击。
希望这会有所帮助