UICallOutView is a private class in UIKit that produces “annotation views” as pictured on the left. These can be very useful (even outside MapKit). Unfortunately as UICallOutView is private Apple rejects applications using this class. Searching for a replacement I found this thread on stackoverflow. Ed Anuff programmed a nice replacement class that is free of any private Apple Stuff. Unfortunately he programmed it in Mono Touch (C#), which is not so useful for many iPhone programmers.
I ported it over to Objective C/Cocoa Touch.
You can download the port here: Download