我有一个简单的地图应用程序,在地图视图上有多个图钉。我的目的是点击一个引脚,显示带有附件视图的标注,推送到详细视图控制器,您可以在其中编辑该引脚/位置详细信息。这一切都很好,但是一旦我弹出详细视图控制器,地图视图上的标注仍然存在,我想要它,但它仍然具有旧的未经编辑的值。弹出详细信息视图控制器后,如何刷新/更新标注视图?
我正在使用Core Data和一个简单的数据库。我尝试过使用controllerdidchangecontent,Map View Controller Will Display方法等,但我的主要问题是确定哪个对象已被添加/更新/删除,哪个是相应的callout / selected pin。
任何帮助表示赞赏...
答案 0 :(得分:0)
不确定您是否找到了答案,但是这样做的方法是扩展MKAnnotation类并创建自定义注释并在创建地标时传递它们。稍后您可以从MKAnnotationView的注释属性中获取它们。
在这里看到一个很好的实现
答案 1 :(得分:0)
我能找到更新标注信息的唯一方法是直接弄乱标注的子视图。
标注视图是注释视图的第一个子视图。
在以下示例中,我更新了字幕。标题标签是第6个,副标题是标注的第7个子视图:
if (myAnnotationView.subviews.count > 0)
((UILabel*)[((UIView*)[myAnnotationView.subviews objectAtIndex:0]).subviews objectAtIndex:7]).text = @"Some example";