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 委托方法中。
我有一个 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 委托方法中。