2017-02-15 4 views
0

Я хотел бы знать, как я могу перейти к другому виду, когда я нажимаю название на MKPointAnnotationMKPointAnnotation перейти к другой точке зрения

func addPin(lat:Double, lng:Double) { 
     let testPin = CLLocationCoordinate2D(latitude: lat, longitude: lng) 
     let dropPin = MKPointAnnotation() 
     dropPin.coordinate = testPin 
     dropPin.title = "123456" 
     mapView.addAnnotation(dropPin) 
    } 

мне нужно непосредственно перейти с идентификатором «Подробнее»

ответ

0

Пожалуйста, добавьте этот метод делегата в вашем с ода и проверить его

func mapView(mapView: MKMapView, didSelectAnnotationView view: MKAnnotationView){ 
    performSegue(withIdentifier: "PlaceDetail", sender: nil) 
} 
+0

Работал, но когда я нажимаю его, дайте мне черный экран :( – k0le

+0

, пожалуйста, измените метод performSegue() с вашим идентификатором –

+0

Когда я подключаю «moreViewController» для просмотра, дайте мне черный экран, когда я отключу его. Как его восстановить? ? – k0le

0

Вам нужно переопределить этот метод из MKMapViewDelegate:

func mapView(_ mapView: MKMapView, annotationView view: MKAnnotationView, calloutAccessoryControlTapped control: UIControl) { 
    performSegue(withIdentifier: "PlaceDetail", sender: nil) 
} 
+0

Имейте в виду, что этот метод делегата вызывается только если OP установил '' rightCalloutAccessoryView' с annotationView'. –

+0

Когда я подключаю «moreViewController» для просмотра, дайте мне черный экран, когда я отключу его. Как я могу его исправить? – k0le

+0

Чтобы не беспокоиться о проблемах. Вы используете раскадровку? – Ramis

Смежные вопросы