Как показать UIView чуть выше булавки MKpointAnnotation
Я хочу показать UIView чуть выше местоположения булавки, и если пользователь перемещается по карте, UIView должен оставаться выше местоположения булавки. Я не хочу использовать пузырь выноски. Есть ли другой путь?
2 ответа
В iOS 9 у нас есть новое свойство с именем detailCalloutAccessoryView
Вы можете создать вид и установить как
annotationView.detailCalloutAccessoryView = tempView
Пожалуйста, проверьте ссылку, чтобы получить более подробную информацию
Попробуйте использовать этот код:
func mapView(_ mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView {
if (annotation is MKUserLocation) {
return nil
}
else if (annotation is YourAnnotationClassHere) {
let identifier = "MyCustomAnnotation"
var annotationView = mapView.dequeueReusableAnnotationView(withIdentifier: identifier)
if annotationView {
annotationView.annotation = annotation
}
else {
annotationView = MKAnnotationView(annotation, reuseIdentifier: identifier)
}
annotationView.canShowCallout = false
// set to YES if using customized rendition of standard callout; set to NO if creating your own callout from scratch
annotationView.image = UIImage(named: "your-image-here.png")!
return annotationView
}
return nil
}
Это в основном то, что вам нужно, чтобы это работало. Это быстрая версия этого ответа прямо здесь: Как создать пользовательский MKAnnotationView и пользовательские заголовок и подзаголовок аннотации
Надеюсь, это помогло!!!