I’m displaying a MKMapView with MKAnnotations some of which are selected and showing their Annotation.
I am trying to grab an image of the displayed map and annotations using the -renderInContext.
90% of the time the Map, MKPinAnnotationView’s and selected annotations are correctly captured.
The other 10% of the time the image is missing something, usually the MKPinAnnotationViews or their annotations if selected.
I’ve added code to deal with the Map itself loading it’s map data.
But I haven’t been able to track down something that would indicate to me that all of the visible MKPinAnnotationView’s have been drawn
and if selected their annotations displayed??
the closest hint I’ve come across is the addObserver, although I haven’t figured out what could be observed that would tell me when all of the drawing is done.
Thoughts?
ok I’m an idiot…
I finally tracked down the problem. In my viewForAnnotation routine in the MKMapView Delegate protocol I wasn’t correctly setting values for reused MKPinAnnotationView’s.
So some of the time I would reuse a view that had .canShowCallout set to YES and other times I’d reuse a view that had .canShowCallout set to NO.