我有一种情况,我在mapview上有一些自定义注释 . 选择这些注释后,我将图像更改为选定状态
didSelectAnnotationView
调用[view setImage]的方法,我也显示了一个标注气泡 . 标注有一个附件视图,在点击时添加一个新的子视图,其中包含更多信息 . 所有这一切都很好,除了当我点击标注附件视图时我希望标注消失,但选定的图像状态保持不变 . 目前,我知道如何解除标注的唯一方法是通过
didDeselectAnnotationView
然而,这也是我将图像状态设置为默认的未选择图像的地方 .
有没有人知道是否可以仅解除标注但是在我的注释中保留选定的状态?
我已经通过在添加detailView时设置一个布尔值来决定是否删除“活动”图像 . 然而,当我选择一个新的注释时,它变得棘手,因为我最终得到了显示所选状态图像的多个注释 . 我已经尝试循环遍历所有注释并将其图像设置为“关闭”状态,但这似乎不起作用,我尝试设置对当前所选注释的引用并更改其上的图像,但它再次没有没事 .
示例流程:
-
用户选择一个引脚
-
didSelectAnnotationView被调用
-
图像图像更改为"active"并显示标注
-
用户点击标注中的附件视图 .
-
BOOLEAN popOverShowing设置为YES
-
didDeselectAnnotationView被调用 . 由于popOverShowing为YES,因此图像不会更改为关闭状态,但标注会消失
-
用户点击新注释
-
Popover消失,popOverShowing设置为NO
-
新注释设置为"active" image
-
所有其他注释应该重置为关闭图像(这似乎不会发生)
1 回答
保持previousPin的引用在didSelectAnnotationView中将其设置为off,除非是nil . 然后将新选择的引脚设置为previousPin . 希望能帮助到你 .