2016-05-19 8 views
0

Ich muss Standard-Callout-Ansicht von Map-Kit deaktivieren, ich benutze benutzerdefinierte Callout-Ansicht und jetzt wird es beide anzeigen, wenn ich auf das Pin-Symbol klicken.Wie kann ich die standardmäßige Callout-Ansicht von mapkit deaktivieren?

func mapView(mapView: MKMapView, didSelectAnnotationView view: MKAnnotationView){ 
    let customView = (NSBundle.mainBundle().loadNibNamed("CustomCalloutView", owner: self, options: nil))[0] as! CustomCalloutView; 

    let button = UIButton(frame: CGRectMake(0, 0, 100, 50)) 
    button.addTarget(self, action: Selector("buttonPressed:"), forControlEvents: .TouchUpInside) 

    button.userInteractionEnabled = true 
    button.backgroundColor = UIColor.greenColor() 

    customView.addSubview(button) // assuming you're in a view controller 

    self.view.addSubview(customView) 
} 
+0

Versuchen Sie, diese Zeile hinzuzufügen: customView! .canShowCallout = false –

+0

Ich habe bereits getan ,, es funktioniert nur zum ersten Mal – Jan

Antwort

0

Endlich habe ich eine Lösung.

Kommentieren Sie einfach die "Titel" und "Beschreibung" von MKAnnotation Objekt benutzerdefinierte Klasse.

+0

Dies wird eine Annahme zu 'MKMapKit' übergeben, dass der Benutzer keine Legende anfordert. Dadurch werden Delegierungsaufrufe für die jeweilige Notiz deaktiviert, die Sie berühren. –