Пользовательские выноски отклоняются в MKMapView при нажатии

У меня есть вид карты и пользовательские выноски, созданные с нуля. Everything works fine except that the callout disappears whenever user taps on it.

1 ответ

Во-первых, убедитесь, что вы переопределите pointInside в пользовательском представлении аннотации для учета выноски:

override func point(inside point: CGPoint, with event: UIEvent?) -> Bool {
    if self.bounds.contains(point) {
        return true    
    } else {
        return self.subviews.contains { $0.frame.contains(point) }
    }
}

Затем вид карты оказывается в пользу UIButton в выноске и не отклонит, если касание ударит экземпляр UIButton, Убедитесь, что вы закрываете весь вид выноски кнопкой (которая может или не может ничего сделать при нажатии).

Вы можете добавить подпредставления в UIButton, но убедитесь, что у них всех есть isUserInteractionEnabled установлен в false,

Другие вопросы по тегам