Я нажимаю на булавку аннотации, отображаемую в представлении выноски, но пока я выбираю аннотацию, предыдущий вид не закрывается.
импорт MapKit
class CalloutAnnotationView: MKAnnotationView {
override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
let hitView = super.hitTest(point, with: event)
if (hitView != nil)
{
self.superview?.bringSubviewToFront(self)
}
return hitView
}
override func point(inside point: CGPoint, with event: UIEvent?) -> Bool {
let rect = self.bounds
var isInside: Bool = rect.contains(point)
if(!isInside)
{
for view in self.subviews
{
isInside = view.frame.contains(point)
if isInside
{
break
}
}
}
return isInside
}
}
Контроллер представления
func mapView(_ mapView: MKMapView, didDeselect view: MKAnnotationView) {
if view.isKind(of: CalloutAnnotationView.self)
{
for subview in view.subviews
{
subview.removeFromSuperview()
}
}
}
Симулятор введите описание изображения здесь