Celui-ci est un peu obscur. Ce MKMapViewDelegate a une méthode qui est censée vous indiquer quand vous sartinez et terminez de faire glisser une vue d'annotation. J'ai mis en œuvre comme suit:Faire glisser la vue d'annotation provoque le déclenchement multiple de la méthode déléguée d'état de glissement
- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)annotationView didChangeDragState:(MKAnnotationViewDragState)newState fromOldState:(MKAnnotationViewDragState)oldState {
if (oldState == MKAnnotationViewDragStateStarting && newState == MKAnnotationViewDragStateEnding)
{
NSLog(@"Ending drag");
}
if (newState == MKAnnotationViewDragStateStarting)
{
NSLog(@"Beginning drag");
}
}
Ce type de travaux. Cependant, quand je me arrête en faisant glisser l'annotation, et faites-le glisser à nouveau, la méthode ci-dessus est déclenché deux fois, puis 3 fois, etc. Ainsi, les affiche de la console:
Beginning drag
Ending drag
Beginning drag
Beginning drag
Ending drag
Ending drag
Beginning drag
Beginning drag
Beginning drag
Ending drag
Ending drag
Ending drag
Beginning drag
Beginning drag
Beginning drag
Beginning drag
Ending drag
Ending drag
Ending drag
Ending drag
Toutes les idées sur ce qui est la cause?