首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS MapKit:在callout中点击会触及在该callout下呈现的annotationView

iOS MapKit:在callout中点击会触及在该callout下呈现的annotationView
EN

Stack Overflow用户
提问于 2018-12-23 03:29:51
回答 1查看 187关注 0票数 0

我是我的MKMapView,我有一个MKAnnotationView的标注,它在大多数情况下都工作得很好,看起来像这样:

标注中的图标是按钮。

问题是:

在本例中,被标注隐藏的地图上有一个注释,恰好在按钮的后面。当我点击这个按钮时,按钮后面的AnnotationView会得到触摸事件。当我点击一个没有注解的按钮时,这个按钮得到了触摸事件。

我使用How to debug who is eating my touches in UIKit?的公认答案找到了这一点

如何确保对callout中的按钮的触摸不会被呈现在callout后面的MKAnnotationView吃掉?

有非常多的代码,目前我不知道哪些代码是相关的显示给你。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-17 19:07:54

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

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

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

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

如果使用annotationView.detailCalloutAccessoryView,这个解决方案也应该有效,就像我提出这个问题时所做的那样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53898709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档