Назначить изображение аннотации вместо булавки

Привет, ребята. Я пытаюсь заменить булавку на моей аннотации на пользовательское изображение.

У меня уже есть изображения в моем списке image.cassette будет отображаться 1X 2X 3X и т. Д., Но как только я пытаюсь вызвать это изображение, я получаю сообщение об ошибке в моем коде, где Xcode пытается исправить мой синтаксис, но в конечном итоге выдает его как ошибку

мой код, указанный ниже, переопределяет func

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

    guard !(annotation is MKUserLocation) else {
        return nil
    }


    let annotationIdentifier = "AnnotationIdentifier"

    var annotationView: MKAnnotationView?
    if let dequeuedAnnotationView =   mapView.dequeueReusableAnnotationView(withIdentifier: annotationIdentifier) {
        annotationView = dequeuedAnnotationView
        annotationView?.annotation = annotation
    }
    else {
        annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: annotationIdentifier)
        annotationView?.rightCalloutAccessoryView = UIButton(type: .detailDisclosure)
    }

    if let annotationView = annotationView {

        annotationView.canShowCallout = true
        annotationView.image = UIImage(named: "House")
    }

    return annotationView
}

Сейчас Xcode обнаруживает ошибку здесь в коде annotationView.image = UIImage(названный: "Дом"), где это просит вставить ",", и конечный результат выглядит следующим образом

annotationView.image = UIImage(named: "#imageLiteral(resourceName: ",House,")")

Xcode будет отображаться ошибка использования неразрешенного идентификатора "Дом"

2 ответа

Решение

Swift 3 представляет Image Literals. Просто напишите "Imag".. и он откроет всплывающее окно с опцией Image Literal. как на картинке ниже:

введите описание изображения здесь

Выбрав опцию "Image Literal", он отобразит все доступные изображения ресурсов,

введите описание изображения здесь

Выберите изображение, которое вы хотите использовать из сетки.

для более подробной информации, см. это

Этот код помог мне исправить мою проблему

let pinImage = UIImage(named: "House.png")
annotationView.image = pinImage

но теперь у меня есть проблема, когда моя карта больше не центрирована

Другие вопросы по тегам