I completed chapter 34, but for some reason I still see the standard red annotations with the labels underneath them, instead of the custom green ones. I compared my code with the provided examples, but I can’t find any differences.
Any suggestions what I’m missing?
extension MapViewController: MKMapViewDelegate {
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
guard annotation is Location else {
return nil
}
let identifier = "Location"
var annotationView = mapView.dequeueReusableAnnotationView(withIdentifier: identifier)
if annotationView == nil {
let pinView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: identifier)
pinView.isEnabled = true
pinView.canShowCallout = true
pinView.animatesDrop = false
pinView.pinTintColor = UIColor(red: 0.32, green: 0.82, blue: 0.4, alpha: 1)
let rightButton = UIButton(type: .detailDisclosure)
rightButton.addTarget(self, action: #selector(showLocationDetails(_:)), for: .touchUpInside)
pinView.rightCalloutAccessoryView = rightButton
annotationView = pinView
}
if let annotationView = annotationView {
annotationView.annotation = annotation
let button = annotationView.rightCalloutAccessoryView as! UIButton
if let index = locations.firstIndex(of: annotation as! Location) {
button.tag = index
}
}
return annotationView
}
}