gpt4 book ai didi

iOS map 套件 : tap in callout touches annotationView that is rendered under the callout

转载 作者:行者123 更新时间:2023-11-30 10:56:33 24 4
gpt4 key购买 nike

我是我的 MKMapView,我有一个 MKAnnotationView 的标注,它在大多数情况下都工作正常,如下所示:

enter image description here

标注中的图标是按钮。

问题:

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

我使用 How to debug who is eating my touches in UIKit? 接受的答案发现了这一点

如何确保标注中按钮上的触摸不会被标注后面呈现的 MKAnnotationView 占用?

代码非常多,目前我不知道哪些代码与向您展示相关。

最佳答案

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

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

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

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

enter image description here

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

关于iOS map 套件 : tap in callout touches annotationView that is rendered under the callout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53898709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com