How do I detect a single tap on an instance of MKMapView
? Do I have to subclass MKMapView
and then override the touchesEnded
method?
Thanks,
-Chris
How do I detect a single tap on an instance of MKMapView
? Do I have to subclass MKMapView
and then override the touchesEnded
method?
Thanks,
-Chris
Hope this will help : How to intercept touches events on a MKMapView or UIWebView objects?
If you're just looking to get notified of tap gestures without affecting any of the other touch behavior of the map, you'll want to use a
UITapGestureRecognizer
. It's super simple, just put in some code like this.That will call the
didTapMap
whenevertheMKMapView
receives a tap gesture and all the pinching, and dragging gestures will still work as they did before.Just add some code snippet as illustration of @tt-kilew answer. In my case, I want to point the user to itself on the map but do not want to interrupt his drag touch.
Or depending on what you are trying to do, add an
MKAnnotation
(push pin, with a callout), so you have something to tap on - and then your map delegate will receive an event eg.mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
You cant at this time intercept touches on a map view, you can try layering an opaque view on there and see if it picks up touches...
Working Perfectly on iOS 8