4
這一個有點模糊。拖動註解視圖導致拖動狀態的多次觸發委託方法
這個MKMapViewDelegate有一個方法,它應該告訴你什麼時候放開並拖動一個註解視圖。我已經這樣實施:
- (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");
}
}
這種作品。然而,當我停止拖動註解,並拖動它再次,那麼上面的方法被觸發兩次,然後3倍等,所以在控制檯顯示:
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
是什麼原因造成這種任何想法?