我有以下代码:
func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {
if view.annotation is MKUserLocation {
view.canShowCallout = false
} else {
self.locationInfoContainerView.isHidden = false
}
}
我希望这样做可以做到以下几点:当我点击与用户位置不同的注释时,显示容器视图。
这段代码的作用是显示在我点击USERLOCATION时的容器视图,而不是在单击地图上其他点的注释时显示的容器视图(因此正好相反),我尝试将代码反转:
func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {
if view.annotation is MKUserLocation {
self.locationInfoContainerView.isHidden = false
} else {
view.canShowCallout = false
}
}
但这会产生相同的结果。有些人可以对此澄清一下,并帮助我编写所需的行为吗? I.E:在与地图上的用户位置不同时,在点击地图注释时显示容器视图。
希望这很清楚,谢谢大家。
最佳答案
在viewForAnnotation
中将标题设置为空
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
if let userAnnotation = annotation as? MKUserLocation {
userAnnotation.title = ""
return nil
}
}
关于ios - 如何从MKAnnotationView标注中排除用户位置?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52407609/