2016-05-22 52 views
0

你好,我正在这个应用程序,所以我可以在PinView内按下按钮,它会加载弹出视图。我很困惑如何让这个工作,因为我认为我需要把它作为一个IBAction,但我不认为我可以这样做,因为它隐藏在main.storyboard中。如何在PinView中打开UIButton打开弹出式视图?

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 
    } 
} 

This is my main.storyboard

任何帮助,将不胜感激,谢谢

回答

0

我不认为你可以很容易地在注释视图中放置一个按钮,但是正如马特在他的回答中所暗示的那样,您可以在用户点击注释视图时显示的标注视图中添加一个按钮。

用户需要点击注释视图(通常是一个pin)来显示标注视图,如果添加了一个按钮,则需要包含一个按钮。用户然后点击标注上的按钮,并调用您的方法calloutAccessoryControlTapped