我有一个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时间将采取更新的数据并删除已删除联系人的注释。 –
使用委托!这将解决您的问题。 –