IOS 11 - 当另一个 pin 落后时,MKMapView pin 对话框不可点击

标签 ios swift annotations mkmapview zposition

在使用 MKMapView 时,我确实注意到了 IOS 11 上的一个问题。

当我想从图钉对话框中点击按钮 Action 并且按钮 Action 后面有另一个图钉时,它没有得到手势。

应该是zPosition的问题,不知道有没有办法只修改zPosition对话框的 (MKAnnotationView.annotation)并将其放在引脚前面 (MKAnnotationView.image) position .

对于 IOS version < 11它确实工作得很好。

有人遇到同样的问题吗?

谢谢!

最佳答案

终于找到解决办法了!

来吧,如果有人需要的话:

func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {
    if #available(iOS 11, *) {
        for annotationView in mapView.annotations {
            if mapView.view(for: annotationView) == view {
                    mapView.view(for: annotationView)?.isUserInteractionEnabled = true
                    mapView.view(for: annotationView)?.becomeFirstResponder()
            }
            else{
                mapView.view(for: annotationView)?.isUserInteractionEnabled = false
            }
        }
    }
}

一切就绪!

关于IOS 11 - 当另一个 pin 落后时,MKMapView pin 对话框不可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49052941/

相关文章:

ios - 如何在 Swift 4.0 中以编程方式调用 GestureRecognizer 方法?

ios - 更改 Realm 对象会使应用程序崩溃

java - 使用cglib实现注解

ios - BundlePath 为零,但 NSLog 打印正确的路径

ios - 以编程方式UIScrollView不起作用

objective-c - 将 map 居中到可见区域

swift - 如何使 PDFView 从文档顶部开始?

Java ee 注释不起作用

Kotlin 多平台注释处理

ios - 无法将类型 'NSMutableDictionary' 的值转换为预期的参数类型 '[String: AnyObject]?'