在swift中向MapKit注释视图添加操作

时间:2018-05-14 18:44:00

标签: swift annotations mapkit

我在地图上的注释视图出现问题。我在地图上显示我的所有宠物与他们的照片定制。当我点击任何注释时,我想去聊天屏幕。它的标识符为“chatView”。我猜我的代码是真的。但它没有用。甚至,它没有打印出“按钮敲击”。我该如何解决这个问题。这是代码

for (int i = 0; i < jsonArray().length(); i++ { jsonArray.getJSONObject(i).getInt("entry_id"); }

1 个答案:

答案 0 :(得分:0)

您不应使用addSubview在注释上显示图片。

e.g。

func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
    if annotation is MKUserLocation {
        return nil
    }

    let reuseId = "petIdentifier"
    var pinView = mapView.dequeueReusableAnnotationView(withIdentifier: reuseId)
    if pinView == nil {
        pinView = MKAnnotationView(annotation: annotation, reuseIdentifier: reuseId)
        pinView?.canShowCallout = true
        pinView?.image = (downloaded image here) // e.g. SDWebImageManager.shared().loadImage(with: ...

        let rightButton: AnyObject! = UIButton(type: UIButtonType.detailDisclosure)
        pinView?.rightCalloutAccessoryView = rightButton as? UIView
    }
    else {
        pinView?.annotation = annotation
    }

    return pinView
}