mapView:didSelectAnnotationView 只被解雇一次

mapView:didSelectAnnotationView gets fired only once

我有一个 MKMapView,我在它上面显示一个 MKAnnotaionView。我的问题是当我第一次点击 AnnotationView 时,mapView:didSelectAnnotationView 被调用,但如果我再次点击它,什么也没有发生。为什么会这样?

- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)aView
    {
        indexPathTag=aView.tag;
        [mapView deselectAnnotation:aView.annotation animated:YES];

    }
- (void)mapView:(MKMapView *)mapView didDeselectAnnotationView:(MKAnnotationView *)aView
    {
    }

当 didSelectAnnotationView 触发时,它实际上以某种方式将注释标记为已选中。然后,当您再次单击它时,委托函数不会触发,因为它是 'already selected'。完成所需操作后,您必须通过调用以下函数手动取消选择注释。所以你必须添加 [mapView deselectAnnotation:aView.annotation animated:YES];在 didSelectAnnotationView 委托方法中。