Показать выноску для раскрытия указателя для MKAnnotationView в Swift - PullRequest
0 голосов
/ 14 ноября 2018

Я могу показать значок раскрытия в аннотации моей карты, используя следующий код:

  annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: annotationIdentifier)
            annotationView?.rightCalloutAccessoryView = UIButton(type: .detailDisclosure)

Когда вы нажимаете значок раскрытия, он мигает, но больше ничего не происходит.Я попытался добавить обработчик кнопки, но это не кнопка, поэтому компилятор сказал нет.Нужно ли создавать целый распознаватель жестов, чтобы заставить его что-либо делать, или как бы я нажал на индикатор, чтобы показать информацию о местоположении?

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Вам нужен этот метод делегата

func mapView(_ mapView: MKMapView, 
   annotationView view: MKAnnotationView, 
   calloutAccessoryControlTapped control: UIControl)

с

self.mapView.delegate = self
0 голосов
/ 14 ноября 2018

Попробуйте это

   let btn = UIButton(type: .detailDisclosure)
   btn.addTarget(self, action: #selector(btnDisclosureAction(_:)), for: .touchUpInside)
   annotationView.rightCalloutAccessoryView = btn

    @objc func btnDisclosureAction(_ sender: UIButton) {
        // you action
    }
...