swift - didSelect 只为同一个 pin 触发一次

标签 swift mkmapview

我有一张 map ,上面放置了很多图钉。我还有以下代码

func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView){
    print("Test")
}

当我点击 pin 时,函数被正确输入并且“测试”被打印到控制台。我面临的问题是,在点击同一引脚后,不会执行上述代码。

要让代码再次执行,我必须点击另一个引脚,然后再次点击原始引脚。

无论我点击 pin 多少次,如何触发上述功能

最佳答案

该方法在 选择 时调用,而不是在它被点击时调用 - 尽管第一次点击它会导致选择,该选择将一直保留直到点击另一个图钉或清除选择以编程方式。

您需要在再次调用该方法之前取消选择它,使用 mapView.deselectAnnotation,您可以在 didSelect 中执行此操作。

关于swift - didSelect 只为同一个 pin 触发一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41838580/

相关文章:

ios - 如何放大和缩小 MKMapView 中的 MKCircle 同一个按钮单击 ios?

ios - Swift:手势识别器无法识别选择器发送到实例

xcode - 在 for 循环内附加图像数组 - swift

ios - 以编程方式创建带有自定义 header 的 UICollectionView

ios - MkMapView 显示蓝屏

ios - MKMapView userLocation 在模拟器中显示 0,0?

ios - 将委托(delegate)设置为 MKMapView

swift - swift 的 @NSApplicationMain 文档是否正确?

Swift UITableView 工作日 - 开放和关闭时间

ios - 如何在Swift中放慢MapView动画的速度?