MKAnnotationView点击委托第一次后不调用

问题描述 投票:0回答:1

我已添加仅带有图像的默认MKAnnotationView。注释正确绘制。现在是一个问题。每次我单击一个注释视图时,它将第一次起作用,然后再次单击它,则不会调用该委托,但是如果我单击任何其他注释视图,则该委托将被调用。

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

我到目前为止已经完成了以下工作

1。设置canShowCallout = false

2。为注释添加设置Title

如果有人可以为此共享解决方案,那就太好了吗?

mapkit mkannotationview
1个回答
1
投票

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

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

希望这会有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.