Я пытаюсь изменить размер UIImage, чтобы он соответствовал аннотации вида карты в слоте leftCalloutAccessoryView
. Я попытался (плохо) добавить ограничения, но изображение не появляется - без ограничений, которые он обнаруживает, но он слишком велик. Теперь с ними он вообще не появляется, я думаю, потому что он был изменен из представления. Я попробовал добавить leftAnchor
и topAnchor
, но получил ошибку, потому что я не совсем уверен, что мне следует привязать к этому аксессуару? Просмотр аннотаций? Во всяком случае вот код до сих пор:Изменение размера изображения в соответствии с левым окном MapViewAccessoryView
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
let identifier = "Restaurants"
if annotation is Restaurants {
var annotationView = mapView.dequeueReusableAnnotationView(withIdentifier: identifier)
if annotationView == nil {
annotationView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: identifier)
annotationView!.canShowCallout = true
let infoButton = UIButton(type: .detailDisclosure)
let imgView = UIImageView(image: UIImage(named: "TTT"))
// constraints
imgView.translatesAutoresizingMaskIntoConstraints = false
imgView.widthAnchor.constraint(equalToConstant: 20).isActive = true
imgView.heightAnchor.constraint(equalToConstant: 20).isActive = true
annotationView!.rightCalloutAccessoryView = infoButton
annotationView!.leftCalloutAccessoryView = imgView
} else {
annotationView!.annotation = annotation
}
return annotationView
}
return nil
}
ли мне просто нужно быть добавив сбоку и сверху якорей, или есть другой способ идти об этом полностью?
Спасибо!
Работал как волшебство, спасибо! – KingTim