MultiRowCalloutAnnotationView
An iOS MapKit callout annotation view with independent cells and accessory actions.
Install / Use
/learn @grgcombs/MultiRowCalloutAnnotationViewREADME
MultiRowCalloutAnnotationView - Exactly what it says, for MapKit / iOS
Created by Gregory S. Combs.
Based on work at GitHub.
Description
- 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.
Implementation
(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
- http://blog.asolutions.com/2010/09/building-custom-map-annotation-callouts-part-1/
- http://blog.asolutions.com/2010/09/building-custom-map-annotation-callouts-part-2/
License
Under a Creative Commons Attribution 3.0 Unported License

Screenshots

Related Skills
node-connect
336.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
336.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.0kCommit, push, and open a PR
