We are trying to implement a continuous delete function by listening to onTouchesMoved. When the touch location returns a valid annotation using GetAnnotationAt: we use AnnotRemoveWithAnnot: then UpdateWithAnnot. However, as soon as the first annotation is found and deleted, the onTouchesMoved method stops being called even though the finger is still dragging. We think it's the UpdateWithAnnot: method that's causing this. Is there anyway around this problem? Thank you!
One other thing to add is that there are rare times that this doesn’t happen. onTouchesMoved will continue after some annotation has been removed. Interesting thing is that once this happens successfully it’ll continue and you can keep dragging to remove the rest of the annotations until you lift your finger and onTouchesEnded is called. This is quite hard to reproduce and will probably only happen 3/10 times. I think it tends to happen if I move my finger really slowly.
Thank you for the report. This will be fixed in the next version. For now as a workaround, please call the following in your touches moved handler:
UITouch* touch = [[touches allObjects] objectAtIndex:0];