Mój kod działał dobrze od iOS 7 do 8. Wczoraj z aktualizacją niestandardowe obrazy na szpilkach zostały zastąpione przez standardowy obraz pinezki. Jakieś sugestie?MapKit nie wyświetla niestandardowego obrazu pinezki adnotacji na iOS9
Mój kod:
extension ViewController: MKMapViewDelegate {
func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView! {
if annotation is MKUserLocation {
return nil
}
let reuseId = String(stringInterpolationSegment: annotation.coordinate.longitude)
var pinView = mapView.dequeueReusableAnnotationViewWithIdentifier(reuseId) as? MKPinAnnotationView
if pinView == nil {
pinView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: reuseId)
pinView!.canShowCallout = true
pinView!.image = getRightImage(annotation.title!!)
}
let button = UIButton(type: UIButtonType.DetailDisclosure)
pinView?.rightCalloutAccessoryView = button
return pinView
}
}
Funkcja aby uzyskać obraz zwraca UIImage
na podstawie nazwy:
func getRightImage (shopName:String)-> UIImage{
var correctImage = UIImage()
switch shopName
{
case "Kaisers":
correctImage = UIImage(named: "Kaisers.jpg")!
default:
correctImage = UIImage(named: "sopiconsmall.png")!
}
return correctImage
}
miałem dokładnie ten sam problem. Twoje sugerowane rozwiązanie naprawiło to dla mnie, dzięki. – Perex19
To rozwiązanie sprawdziło się również dla mnie. Dzięki! –
Dzięki! to było świetne. – Natasha