在我的应用程序中,我有一个带注释的 mkmapview。 当我点击注释时,会出现一些带有附加信息的小 View 。
现在我想在点击 map 时隐藏此窗口,但在点击某些注释时则不想隐藏。
如何制作?
我认为类似这样的东西,但我不知道如何阅读它是注释 View 被点击的。 点击手势:
let mapTap = UITapGestureRecognizer(target: self, action: #selector(mapDidTap(_:)))
map.addGestureRecognizer(mapTap)
处理程序:
@objc private func mapDidTap(_ sender: UITapGestureRecognizer) {
if tapIsOnlyMap {
hideSmallPopup()
}
}
最佳答案
您可以使用 var selectedAnnotations: [MKAnnotation]
委托(delegate)属性来检测是否选择了任何注释。如果有空,您可以隐藏窗口。
一个问题,点击注释时如何打开此注释 View ?我认为您可以在点击注释时设置此“注释窗口”,然后您不应该检查 selectedAnnotations 来隐藏窗口。
享受
关于ios - 如何在点击 MKMapView 时运行函数,但在点击 AnnotationView 时返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56752162/