2016-05-22 88 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