我有一个地图注释视图,其中包含一个rightcallout按钮,用于加载一个UIViewController类的附件视图。我正在使用可恢复的注释,但我想知道如何将更新的信息传递给我的UIViewController类。假设我有2个字符串值,在我的视图中映射到2个UILabel。在初始附件视图作为可重复使用的视图加载到内存后,如何更新这些值?
任何帮助都将不胜感激。
答案 0 :(得分:0)
您需要在获取更新的对象中维护对UILabel的引用,然后使用setTitle :(我认为)更新标签。
答案 1 :(得分:0)
在注释子类中,您需要覆盖setTitle方法,以将更改发送到您的子类所持有的UIViewController类的实例。或者,您可以设置注释子类以接收通知(来自NSNotificationCenter),并在收到通知后,更新UIViewController类的标题和实例。
如果您不熟悉NSNotifications,那么这里有一个快速参考。我使用这些来保持我的注释更新。 NSNotification Example
答案 2 :(得分:0)
尝试使用MKMapViewDelegate方法:
-(void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control;
当用户点击其中一个注释视图的附件按钮时,将调用此方法。假设你的MKMapViewDelegate也是可以访问你的附件视图的UIViewController。