我開發了一個使用MKMapView
的小應用程序,其中MKAnnotations
在地圖上連續添加。只要用戶不觸摸地圖視圖,它就可以很好地工作。阻止新註釋視圖的用戶交互
如果用戶試圖與地圖交互,我注意到沒有新的MKAnnotationViews
被添加到地圖。事實上,我發現只要用戶不斷與地圖交互,就不會調用mapView: didAddAnnotationViews:
。一旦用戶的手指離開屏幕,mapView: didAddAnnotationViews:
被調用,傳入所有應該添加的MKAnnotationViews
參數。
我試圖迫使呼叫mapView: didAddAnnotationViews
,但我需要(基於定期調用,所以我不能用任何東西)傳遞MKAnnotationViews
作爲參數,當我嘗試在mapView: viewForAnnotation:
年底稱呼它,它不由於視圖還沒有添加到mapView中,所以它不起作用。嘗試通過另一個線程添加註釋也是一個壞主意,因爲這會導致Collection was mutated while being enumerated
異常(可能來自存儲註釋視圖的可變數組)。
有什麼辦法解決這個問題嗎?
謝謝,但這並沒有真正回答我的問題。我不能將所有註釋存儲在數組中,因爲它們來自流。 –