Проверьте, была ли нажата аннотация - Swift [duplicate]

Вы можете сделать это следующим образом:

tid=$(tty | sed 's#/dev/##') && who | grep "$tid"
8
задан Nirav D 29 August 2016 в 13:03
поделиться

2 ответа

Для этого вы можете использовать выбранные Annotation из didSelectAnnotationView, а затем сохранить эту аннотацию к переменной экземпляра и после этого использовать аннотацию в вашем методе действия Button.

var selectedAnnotation: MKPointAnnotation?

func mapView(mapView: MKMapView, didSelectAnnotationView view: MKAnnotationView) {
    self.selectedAnnotation = view.annotation as? MKPointAnnotation
}

func info(sender: UIButton) {
    print(selectedAnnotation?.coordinate)
}

Изменить: As у вас есть пользовательский класс MKAnnotation, который вам нужно использовать.

var selectedAnnotation: Islands?

func mapView(mapView: MKMapView, didSelectAnnotationView view: MKAnnotationView) {
    self.selectedAnnotation = view.annotation as? Islands
}    
7
ответ дан Nirav D 16 August 2018 в 00:14
поделиться
  • 1
    Это меня ... – mike vorisis 29 August 2016 в 12:45
  • 2
    когда я постучал по своей кнопке – mike vorisis 29 August 2016 в 12:47
  • 3
    Хорошо, теперь я не получаю ничего, но я получаю это: Необязательно (& lt; sourtoukisocial.Islands: 0x19df9180 & gt;) Я обновил свой ответ, чтобы вы могли знать, какие острова – mike vorisis 29 August 2016 в 12:54
  • 4
    Я думаю, что у вас есть пользовательский класс аннотаций, верно? Вот почему MKPointAnnotation не работает. – Nirav D 29 August 2016 в 12:55
  • 5
    Да, я редактирую свой вопрос – mike vorisis 29 August 2016 в 12:56

Для Swift 4

func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {
    var selectedAnnotation = view.annotation
}
1
ответ дан Rajesh 16 August 2018 в 00:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: