2016-07-31 42 views
0

Ich habe versucht, eine benutzerdefinierte UIView als infoWindow meiner MGLAnnotation hinzuzufügen, aber ich kann nicht verstehen, wie ich es tun kann.Markierung hinzufügen infoWindow zu Mapbox Anmerkung

Ich habe seit Tagen versucht, aber die nächste, die ich erfolgreich war, ist meine benutzerdefinierte UIView nehmen und fügen Sie es als InfoWindow aber wirklich klein (ich denke, es war 500px Breite und 100px Höhe).

Wie kann ich die volle Größe UIView nehmen und sie als infoWindow zur Annotation hinzufügen?

Vielen Dank!

+0

Da 'MGLAnnotation' keine 'infoWindow'-Eigenschaft hat, ist nicht klar, was Sie fragen. Kannst du klarstellen, was du versuchst? –

+0

Wenn Sie sich auf die Callout-Ansicht beziehen, sehen Sie dieses Beispiel: https://www.mapbox.com/ios-sdk/examples/custom-callout/ – friedbunny

+0

@TomHarrington Ja, ich möchte die grundlegende Ansicht ersetzen, die wann angezeigt wurde Sie klicken auf eine Anmerkung zu einer benutzerdefinierten UIView, ist es jetzt klarer? –

Antwort

0

Sehen Sie folgendes Beispiel: https://www.mapbox.com/ios-sdk/examples/custom-callout/

Insbesondere sucht die Umsetzung von -[MGLMapViewDelegate mapView:calloutViewForAnnotation:].

Wenn Sie es von einem XIB laden, müssen Sie zusätzliche Arbeit ausführen, um die Ansicht zu initialisieren, aber das Konzept ist das gleiche.

+0

Welche Art von Arbeit? Meinst du 'MyCustomView()'? –

+0

Ich habe den gesamten Code aus diesem Handbuch kopiert, aber wenn ich versuche, das 'mainBody' durch' Self' zu ersetzen, wird das Callout nicht angezeigt, wenn ich auf die Annotation klicke –

+0

(Ich habe ein anderes "ControllerView" erstellt und meine benutzerdefinierte Ansicht als 'mainBody' eingestellt), aber jetzt ist der Rahmen wirklich komisch (der gesamte Bildschirm) und ich kann nicht verstehen, wie ich ihn auf die richtige Größe einstellen kann –