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 included 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.
Get all the logs you need and fix bugs, crashes, and other issues in minutes instead of days. With Instabug you will automatically receive device data, network logs, and reproduction steps with every bug and crash report. It only takes a line of code to integrate and is perfect for teams that are now working remotely. See more detailed features comparison and try Instabug for free here.