0

我有一个简单的地图应用程序,地图视图上有多个引脚。我的意图是点击一个图钉,显示一个带有附件视图的标注,推送到一个详细视图控制器,您可以在其中编辑该图钉/位置详细信息。这一切都很好,但是一旦我弹出详细视图控制器,地图视图上的标注仍然存在,这是我想要的,但它仍然具有旧的未编辑值。弹出详细视图控制器后,如何刷新/更新标注视图?

我正在将 Core Data 与一个简单的数据库一起使用。我曾尝试使用 controllerdidchangecontent、Map View Controller Will Display 方法等,但我的主要问题是确定哪个对象已添加/更新/删除,哪个是相应的标注/选定引脚。

任何帮助表示赞赏...

4

2 回答 2

0

不确定您是否找到了答案,但方法是扩展 MKAnnotation 类并创建自定义注释并在创建地标时传递它们。稍后您可以从 MKAnnotationView 的注释属性中获取它们。

在这里查看一个好的实现

http://www.slideshare.net/360conferences/getting-oriented-with-mapkit-everything-you-need-to-get-started-with-the-new-mapping-framework

于 2011-03-12T16:51:59.480 回答
0

我能找到更新标注信息的唯一方法是直接弄乱标注的子视图。

标注视图是注释视图的第一个子视图。

在下面的示例中,我更新了字幕。标题标签是第 6 个,字幕是标注的第 7 个子视图:

if (myAnnotationView.subviews.count > 0)
    ((UILabel*)[((UIView*)[myAnnotationView.subviews objectAtIndex:0]).subviews objectAtIndex:7]).text = @"Some example";
于 2012-11-06T13:15:19.233 回答