点击MKMapView时如何运行功能,而点击AnnotationView时如何返回功能?

时间:2019-06-25 10:39:29

标签: ios swift mkmapview uitapgesturerecognizer

在我的应用中,我有一个带有注释的mkmapview。 当我点击注释时,会出现一个带有其他信息的小视图。

现在,我想在点击地图时隐藏此窗口,但在点击某些注释时不希望隐藏该窗口。

如何制作?

我认为是这样,但是我不知道如何读取注释视图。 点击手势:

let mapTap = UITapGestureRecognizer(target: self, action: #selector(mapDidTap(_:)))
    map.addGestureRecognizer(mapTap)

处理程序:

@objc private func mapDidTap(_ sender: UITapGestureRecognizer) {
    if tapIsOnlyMap {
        hideSmallPopup()
    }
}

1 个答案:

答案 0 :(得分:2)

您可以使用var selectedAnnotations: [MKAnnotation]委托属性来检测是否选择了任何注释。如果没有任何内容,您可以隐藏窗口。

一个问题,点击注释时如何打开此注释视图?我认为您可以在点击注释时设置此“注释窗口”,然后就不应该选中selectedAnnotations来隐藏该窗口。

享受