iOS MapKit:点按标注触摸在标注下方呈现的注解视图

时间:2018-12-22 19:29:51

标签: ios swift mapkit mouseevent mapkitannotation

我是MKMapView,我有一个MKAnnotationView的标注,在大多数情况下都可以正常运行,并且看起来像这样:

enter image description here

标注中的图标是按钮。

问题:

在这种情况下,被标注隐藏了,在地图上的按钮正好有注释。 当我点击此按钮时,按钮后面的AnnotationView会获得触摸事件。 当我点击一个没有注解的按钮时,该按钮将获得触摸事件。

我使用How to debug who is eating my touches in UIKit?

的公认答案发现了这一点

如何确保标注上按钮的触摸不会被标注后面的MKAnnotationView所吞噬?

有很多代码,目前我不知道向您展示哪个代码。

1 个答案:

答案 0 :(得分:0)

找到了解决方案(我没有使用hitTest找到解决方案):

我现在使用自己的UIView作为标注(请参阅问题下方的Robs注释作为开始)。那不会改变我在问题中描述的问题。

当我点击标注视图中的按钮时,我注意到我没有描述问题。

因此,我在所有非交互式标签和textView上放置了一个不可见的自定义按钮。下面显示的infoButton除了捕获水龙头外什么也不做。它的大小与下面的infoStackView相同:

enter image description here

如果使用annotationView.detailCalloutAccessoryView,该解决方案也应该起作用,就像我提出问题时一样。