iOS MapView.驳回标注,但请选择注释



我有一个我在MapView上有一些自定义注释的情况。选择这些注释时,我通过

将图像更改为选定的状态
didSelectAnnotationView 

使用调用[查看设置]的方法,我还显示一个标注气泡。标注具有一个附件视图,该视图添加了一个新的子视图,其中包含更多信息。所有这些都可以正常工作,除了我点击呼叫附件视图时,我希望标注消失,但仍保留所选图像状态。目前,我知道如何通过

来解散标注的唯一方法
 didDeselectAnnotationView

但是,这也是我将映像状态设置为默认未选择的图像的地方。

有人知道是否只能驳回标注,但在我的注释中保留所选状态?

当添加详细信息视图以决定是否删除"活动"映像时,我已经通过设置布尔值来使这种工作。但是,当我选择新的注释时,当我最终显示出多个注释时,这会变得棘手。我已经尝试循环浏览所有注释并将其图像设置为"关闭"状态,但这似乎不起作用,我尝试设置对当前选择的注释并更改图像的引用,但是它又没有't工作。

示例流:

  • 用户选择PIN
  • didSelectantationView称为
  • 引脚图像更改为"活动",并且显示标注
  • 用户点击呼叫中的辅助视图。
  • 布尔值弹出设置为YES
  • didDeselectantationView被调用。因为弹出式播放是肯定的,图像没有更改为OFF状态,但标注消失了
  • 用户点击新注释
  • 弹出案消失了,弹出式弹出设置为
  • 新注释设置为"活动"图像
  • 所有其他注释应该重置以关闭图像(这似乎没有发生)

除非为nil,否则请在didSelectantationView中保留先前pin的引用。然后将新选择的PIN设置为先前的PIN。希望它有帮助。

最新更新