我的应用程序有问题。实际上,当我在单独的应用程序中运行代码时,它就可以正常工作。 xCode没有向我显示任何错误,并且一切正常,但是在MapKit的注释中看不到详细信息按钮。 xCode中是否存在更深层的问题?

那是我的代码:

    func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {

    let identifier = "Education"

    if annotation is Education {
        var annotationView = mapView.dequeueReusableAnnotationView(withIdentifier: identifier)

        if annotationView == nil {
            annotationView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: identifier)
            annotationView!.canShowCallout = true

            let btn = UIButton(type: .detailDisclosure)
            annotationView!.rightCalloutAccessoryView = btn
        } else {

            annotationView!.annotation = annotation
        }

        return annotationView
    }

    return nil
}


It looks like this on my app - no detail button on the right side of annotation.

最佳答案

您必须为mapView设置委托。我通常在mapView所在的ViewController的viewDidLoad中执行此操作。

mapView.delgate = self

是您需要添加的代码。

关于swift - 注释上的按钮没有出现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43990635/

10-08 20:57