如何在MKAnnotationView上添加UIView,然后在MKMapView上显示它?

时间:2015-10-12 17:30:13

标签: ios

我的目标是在MKMapView上设置自定义引脚。我有一个带有标签的UIView,我想将它用于自定义引脚。我已实施viewForAnnotation方法在地图上显示我的UIView

func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView? {
    if annotation is MKUserLocation {
        return mapView.dequeueReusableAnnotationViewWithIdentifier("")
    } else {
        let annotationView = MKAnnotationView()
        annotationView.canShowCallout = false
        annotationView.addSubview(myView) // myView is the regular UIView
        return annotationView
    }
}

现在显示引脚,但它们随机放置在地图上。我想这是因为我必须创建一个MKAnnotation并为其分配坐标。如何将UIView添加到MKAnnotationView,然后将其显示在MKMapView上?

1 个答案:

答案 0 :(得分:3)

您遗漏了一个微小但关键的步骤:在每种情况下,您都必须将传入的注释分配给注释视图的annotation属性。