On the maps app in the IPad when you tap a pin you get a normal annotation with an "i" instead of a disclosure indicator. A further tap on the "i" reveals a popover view controller like this.
Is there a way to easily achieve this?
On the maps app in the IPad when you tap a pin you get a normal annotation with an "i" instead of a disclosure indicator. A further tap on the "i" reveals a popover view controller like this.
Is there a way to easily achieve this?
My requirement was similar to this issue, but also needed to allow users to interact with the map (panning and zooming) while the callout is displayed. For this I've created this github project: https://github.com/crarau/mapkit-custom-callout
It appears that to have a better position for the popover you must present it from this rect:
First add an annotation to the map and in the
viewForAnnotation
method, set therightCalloutAccessoryView
to a button of type, say, UIButtonTypeDetailDisclosure (I don't think the blue info button is available by default).Pressing the button will call the
calloutAccessoryControlTapped
delegate method. In this method, deselect the annotation and show your popover. For example:YourContentViewController is a subclass of UIViewController which you can code like any other view controller. The Maps app looks like it has UITableView in the content.
You can use a library like Gordon Hughes' Animated Callout. Unfortunately it's still not working perfectly on iOS 6 (callouts show up strangely).
Here's iOS 5: