我有一张 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/