1

我有一个地图注释视图,其中包含一个 rightcallout 按钮,该按钮加载一个 UIViewController 类的附件视图。我正在使用可重复的注释,但我想知道如何将更新的信息传递给我的 UIViewController 类。假设我有 2 个字符串值映射到我的视图中的 2 个 UILabel。在初始附件视图已作为可重用视图加载到内存后,如何更新这些值?

任何帮助,将不胜感激。

4

3 回答 3

0

在您的注释子类中,您需要重写 setTitle 方法以将更改发送到您的子类所持有的 UIViewController 类的实例。或者,您可以设置注释子类以接收通知(来自 NSNotificationCenter),并在收到通知后更新 UIViewController 类的标题和实例。

如果你不熟悉 NSNotifications,那么这里有一个快速参考。我用这些来更新我的注释。 NSNotification 示例

于 2010-03-11T18:06:12.367 回答
0

尝试使用 MKMapViewDelegate 方法:

-(void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control;

当用户点击注释视图的附件按钮之一时调用此方法。假设您的 MKMapViewDelegate 也是可以访问您的附件视图的 UIViewController。

于 2010-04-21T06:29:54.257 回答
0

您需要在获取更新的对象中维护对 UILabels 的引用,然后使用 setTitle: (我认为) 来更新标签。

于 2009-12-31T01:59:57.240 回答