我开发了一个使用MKMapView
的小应用程序,其中MKAnnotations
在地图上连续添加。只要用户不触摸地图视图,它就可以很好地工作。阻止新注释视图的用户交互
如果用户试图与地图交互,我注意到没有新的MKAnnotationViews
被添加到地图。事实上,我发现只要用户不断与地图交互,就不会调用mapView: didAddAnnotationViews:
。一旦用户的手指离开屏幕,mapView: didAddAnnotationViews:
被调用,传入所有应该添加的MKAnnotationViews
参数。
我试图迫使呼叫mapView: didAddAnnotationViews
,但我需要(基于定期调用,所以我不能用任何东西)传递MKAnnotationViews
作为参数,当我尝试在mapView: viewForAnnotation:
年底称呼它,它不由于视图还没有添加到mapView中,所以它不起作用。尝试通过另一个线程添加注释也是一个坏主意,因为这会导致Collection was mutated while being enumerated
异常(可能来自存储注释视图的可变数组)。
有什么办法解决这个问题吗?
谢谢,但这并没有真正回答我的问题。我不能将所有注释存储在数组中,因为它们来自流。 –