objective-c - MKMapView 上触摸事件/注释选择的 Z 顺序

标签 objective-c ios cocoa-touch mkmapview z-order

我有一个 MKMapView,上面有几个注释,一个非常重要的注释位于 map 的中心。本地图缩小一点时,所有注释都聚集在一起,我编写了代码以确保主要注释始终在视觉上位于顶部。但是,注释选择似乎不符合此 z 顺序 - 有几个实例,我尝试选择主要注释,但它后面的次要注释最终被选中并出现在前面。

有没有标准的方法来处理这个问题?欢迎提出任何建议。

最佳答案

MKMapView 在其内部列表中添加注解,然后通过自己的逻辑显示这些注解 View 。您可以通过 MKMapView 的属性“annotations”检索注释列表。但是,目前没有方法可以更改注释 View 的顺序。

我也遇到了同样的问题。我的解决方案是自己跟踪触摸事件,然后检测触摸的是哪个注解 View ,而不是mapView:didSelectAnnotationView: delegate。

关于objective-c - MKMapView 上触摸事件/注释选择的 Z 顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10984523/

相关文章:

ios - Admob 广告不显示 swift

ios - 自定义 Swift NSNumberFormatterStyle

objective-c - 具有(复杂)关系和核心数据/RAILS 的 Restkit

iphone - UIControl - 更改分配的选择器 : addTarget & removeTarget

ios - 在第一次加载时隐藏 UITableView 的部分

objective-c - 如何将子类设置为 obj-c 中父类(super class)的属性?

ios - 无法正确反转 AVAsset 音频。唯一的结果是白噪声

ios - 强制退出 iOS 应用程序后的重要位置更新

iphone - 开始按钮启动 NSTimer,停止按钮停止它,开始按钮再次启动它。但是 'invalidate' 给了我一个错误?

ios - Target 在 Swift 中分离线程的意义