the*_*atp 3 iphone sdk callouts mkannotationview ios
我有一个自定义的MKAnnotationView子类.它完全按照我的要求显示视图.在那个视图中,我有一个按钮.我想捕获按钮上的事件以执行操作.这很好用.
但是,我不希望标注被解雇或消失.基本上,触摸标注中的按钮将开始播放声音,但我想保留注释,以便用户可以按下停止,而无需再次触摸地图图钉以重新注释注释.在另一个例子中,我希望按钮触摸可以在标注中设置更多细节的动画,因此我绝对不想在此时关闭标注.
每当用户选择标注或标注内的按钮时,如何防止标注消失?
这可能不是最好的解决方案,但绝对有效.首先,我尝试了很多东西,比如观察上下文等等,但我从来没有过去崩溃,而且看起来很麻烦.所以,这就是我做的:
我首先指定了保持警报可见性的控制因素.在我的例子中,我创建了一个自定义注释视图,每当用户单击该自定义视图上的按钮时,我希望它保持可见,甚至可能更改内容.因此,我在该自定义视图上设置了一个委托,以便我的地图可以知道什么时候发生了变化.在我的地图视图控制器中,我捕获该消息并将类成员变量设置为true以表示我希望注释视图保留.
注意:这将在选择消息发生之前发生.
现在,在我的didDeselectAnnotation方法中,我检查了布尔值.如果我想让它保持可见,我选择不删除我的注释,我重置布尔值,然后手动重新选择注释,将动画设置为NO.这使得注释视图"保持"可见 - 可能是作弊,但用户无法看到差异.每当该布尔值表示取消选择是正确的时,我只需删除注释,一切都很好.
所以,工作流程如下:
我希望这有助于其他人.我花了一段时间来解决这个问题,所以我希望它能节省你的时间.
如果您找到更好的解决方案,请务必在此发布!
| 归档时间: |
|
| 查看次数: |
3359 次 |
| 最近记录: |