如何判断MKMapView和可见的MKAnnotationView何时完成绘图?

时间:2010-11-05 23:30:12

标签: iphone rendering mkmapview

我正在显示带有MKAnnotations的MKMapView,其中一些被选中并显示其注释。 我试图使用-renderInContext来抓取显示的地图和注释的图像。

有90%的时间正确捕获了Map,MKPinAnnotationView和选定的注释。 另外10%的图像缺少某些东西,通常是MKPinAnnotationViews或它们的注释(如果被选中)。

我添加了代码来处理Map本身加载它的地图数据。

但是我无法找到能够告诉我所有可见的MKPinAnnotationView已被绘制的东西 如果选中他们的注释显示??

我遇到的最接近的提示是addObserver,虽然我还没有弄清楚什么可以观察到会在完成所有绘图时告诉我。

思想?

2 个答案:

答案 0 :(得分:1)

好吧,我是个白痴...... 我终于找到了问题所在。在我的MKMapView Delegate协议的viewForAnnotation例程中,我没有正确设置重用的MKPinAnnotationView的值。 所以有些时候我会重用一个将.canShowCallout设置为YES的视图,有时我会重用一个将.canShowCallout设置为NO的视图。

  

<

答案 1 :(得分:0)

尝试使用MKMapViewDelegate didAddAnnotationViews方法。

如果在该方法中,图形仍未满足您的要求,则可以使用performSelector调用捕获方法:withObject:afterDelay:。