我的应用程序有问题。实际上,当我在单独的应用程序中运行代码时,它就可以正常工作。 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/