Как сделать так, чтобы UIButton в PinView открывал всплывающее окно?

Hello so I am working on this app so I can press a button within the PinView and it will load a pop up view. Я очень смущен относительно того, как получить эту работу, потому что я думаю, что мне нужно иметь его в качестве IBAction, но я не думаю, что я могу сделать это, потому что он скрыт от основного.раскадровка.

extension ViewController : MKMapViewDelegate {
func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView?{
    if annotation is MKUserLocation {
        //return nil so map view draws "blue dot" for standard user location
        return nil
    }
    let reuseId = "pin"
    var pinView = mapView.dequeueReusableAnnotationViewWithIdentifier(reuseId) as? MKPinAnnotationView
    pinView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: reuseId)
    pinView?.pinTintColor = UIColor(red: 52/255.0, green: 73/255.0, blue: 94/255.0, alpha: 1.0)
    pinView?.canShowCallout = true
    let removeButton = UIButton(type: .Custom)
    removeButton.frame = CGRect(x: 0, y: 0, width: 40, height: 40)
    removeButton.setImage(UIImage(named: "RadiusSettings")!, forState: .Normal)
    pinView?.leftCalloutAccessoryView = removeButton
    return pinView
    }
}

Это мое главное.раскадровка

Любая помощь будет оценена, спасибо

2 ответа

  1. Я не думаю, что вы можете легко поместить кнопку в представлении аннотаций, но, как Мэтт намекает в своем ответе, вы можете добавить кнопку в представление выноски, которое отображается, когда пользователь нажимает на представление аннотаций.

    Пользователю нужно будет нажать на вид аннотации (обычно pin-код), который показывает вид выноски, включая кнопку, если вы добавили один. Затем пользователь нажимает кнопку на выноске, и calloutAccessoryControlTappedвызывается метод.