Как я могу использовать Kingfisher для установки изображения на аннотации карты?

Я хочу, чтобы изображения загружал Kingfisher и устанавливал их как image моего AnnotationView. Проблема в том, что Kingfisher, похоже, работает только с UIImageView, а AnnotationView, похоже, не раскрывает его.

Таким образом, одним из подходов было бы использование механизма загрузки Kingfishers, чтобы получить изображение и установить его самостоятельно:

KingfisherManager.shared.retrieveImage(with: url) { result in 
    // Do something with `result`
}

Но я бы предпочел, чтобы Kingfisher установил изображение, потому что при таком подходе я потеряю некоторые функции Kingfishers (например, изображение-заполнитель).

Как я могу получить ImageView в AnnotationView?


person Jochen    schedule 22.12.2018    source источник
comment
Изображение, которое вы получаете по URL-адресу, выглядит следующим образом: example.com/image.png   -  person Abhishek Jadhav    schedule 22.12.2018


Ответы (1)


Я добавил imageView в свой annotationView. Работает с большим успехом.

let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 35, height: 42))
annotationView?.addSubview(imageView)
person Ivan Le Hjelmeland    schedule 23.12.2018
comment
Я тоже сделал это в конце, но боролся, потому что мне тогда пришлось вручную установить размер представления аннотации (до того, как он не был виден): view.frame = CGRect (...) - person Jochen; 31.12.2018