我有一個MKMapView
有很多註釋。當我點擊註釋時,註釋的聯繫人詳細信息(ABPersonViewController
)被推送。在這個班級中,我可以選擇刪除聯繫人。當聯繫人從地址簿中刪除時,同時我也需要從地圖視圖中刪除註釋。如何從另一個類刪除mapview註釋
當點擊刪除按鈕時,聯繫人將從地址簿中刪除,並且ABPersonViewController
類將從導航堆棧彈出。現在用戶看到了mapview。但它應該沒有被刪除的註釋(聯繫)。 我該怎麼做。
我有一個MKMapView
有很多註釋。當我點擊註釋時,註釋的聯繫人詳細信息(ABPersonViewController
)被推送。在這個班級中,我可以選擇刪除聯繫人。當聯繫人從地址簿中刪除時,同時我也需要從地圖視圖中刪除註釋。如何從另一個類刪除mapview註釋
當點擊刪除按鈕時,聯繫人將從地址簿中刪除,並且ABPersonViewController
類將從導航堆棧彈出。現在用戶看到了mapview。但它應該沒有被刪除的註釋(聯繫)。 我該怎麼做。
使用annotation
屬性從mapview中獲取註釋。然後通過標籤列表進行迭代,以獲得特定註釋然後使用
- (void)removeAnnotation:(id <MKAnnotation>)annotation
方法來刪除註釋。我希望它會照顧你的問題。
此方法將在地圖視圖類中。我應該如何通過在'ABPersonViewController'類中點擊按鈕來觸發它。 –
爲此,您可以創建一個委託來執行此操作,也可以使用NSNotificationCenter向前一個控制器發佈通知,以便爲您刪除委託。 –
添加所有註釋的可變數組以及與它對應的地址,如:
的NSMutableArray *陣列;
[數組添加對象:[NSDictionary dictionarywithobjectandkeys:@「your object and keys」];
現在,當用戶刪除地址後,其後的註釋也將被刪除。這應該做到這一點。
要刪除所有註釋,請使用下面的代碼;
[mapView removeAnnotations:mapView.annotations]
當你提供註解,必須基於從AddressBook.So一些數據,當您從通訊錄中刪除聯繫人,調用相同的方法來繪製標註您預先打電話來顯示annotation.this時間將採取更新的數據並刪除已刪除聯繫人的註釋。 –
使用委託!這將解決您的問題。 –