An iOS MapKit callout annotation view with independent cells and accessory actions.
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.

MultiRowCalloutAnnotationView - Exactly what it says, for MapKit / iOS

Created by Gregory S. Combs.
Based on work at GitHub.


  • This is an annotation view that sports a callout bubble with multiple, independently selectable rows of data. The objective is to allow each cell/row to utilize an accessory disclosure button, without resorting to a more involved UITableViewController scenario.


(See the demo for a functional representation of this project.)

  • Presuming you've already set up your project to use the MapKit Framework, you first need to add the appropriate classes in the "MultiRowCalloutAnnotationView" directory.
  • Next, ensure your annotation class (if you have a preexisting one) answers to the "title" selector, and that it also returns an array of MultiRowCalloutCells upon request.
  • The callout cell class takes a title, subtitle, and an image. You can also supply an NSDictionary for custom data that is passed along on accessory button touches.
  • The MultiRowCalloutAnnotationView gathers the necessary information and conveniently uses blocks to handle the button touch events.

Attributions and Thanks

A portion of this class is based on James Rantanen's work at Asynchrony Solutions


Under a Creative Commons Attribution 3.0 Unported License

Creative Commons License Badge