【问题标题】:Loading Accessory callout view for mkannotationview加载 mkannotationview 的附件标注视图
【发布时间】:2009-09-02 07:26:03
【问题描述】:

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

任何帮助将不胜感激。

【问题讨论】:

    标签: objective-c iphone annotations mapkit


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        尝试使用 MKMapViewDelegate 方法:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-10-01
          • 1970-01-01
          • 1970-01-01
          • 2015-01-26
          • 2011-12-22
          • 2011-02-24
          • 1970-01-01
          • 2013-08-14
          相关资源
          最近更新 更多