MapVC annotation, 5 курс уроки 27-30

swift
ios

#1

Потратил вчера довольно много времени, чтобы задать размер аннотации на карте иии… у меня ничего не получилось (
Растягивал с помощью текста, с помощью картинки, но с учетом того, что кол-во символов всегда будет разным (в моем случае), то иной раз выглядит кривоватенько. Неужели никак нельзя просто создать поле и явно указать констрейнты и размеры? Как быть?

> Очень сильно не хватает ментора!=) Готов купить годовую подписку прям сейчас, если по истечению дня - вечером, хотя-бы 1 раз можно будет задать вопросы…

extension MapViewController: MKMapViewDelegate {
> // метод отвечает за отображение аннотации
func mapView( _ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
> // если маркером на карте является текущее местоположение пользователя, то мы не создаем никакой аннотации
guard !(annotation is MKUserLocation) else { return nil }
> //создаем объект класс, который представляет view с аннотацией на карте
var annotationView = mapView.dequeueReusableAnnotationView(withIdentifier: annotationIdentifier) as ? MKPinAnnotationView
> // если на карте не останется ни одного представления с аннотацией, кот мы могли бы переиспользовать
if annotationView == nil {
annotationView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: annotationIdentifier)
> // чтобы отобразить анцию в виде банера
annotationView?.canShowCallout = true
}
// let image = UIImage(named: “test”)
// let resizedSize = CGSize(width: 200, height: 300)
// UIGraphicsBeginImageContext(resizedSize)
// image?.draw(in: CGRect(origin: .zero, size: resizedSize))
// let resizedImage = UIGraphicsGetImageFromCurrentImageContext()
// UIGraphicsEndImageContext()
// let annotationVieww = MKAnnotationView(annotation: annotation, reuseIdentifier: “Pin”)
// annotationVieww.image = resizedImage

if let imageData = place.imageData {
> // отображение изображения
let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 80, height: 80))
imageView.layer.cornerRadius = 10
imageView.clipsToBounds = true
imageView.image = UIImage(data: imageData)
> // разместим его справа
annotationView?.rightCalloutAccessoryView = imageView
}

let subtitleView = UILabel()
subtitleView.font = subtitleView.font.withSize(15.0)
subtitleView.numberOfLines = 6
subtitleView.text = annotation.subtitle!
annotationView?.detailCalloutAccessoryView = subtitleView

return annotationView
}}