MKAnnotationView Drücken, um den Controller anzuzeigen, wenn auf die Taste DetailDeclosure geklickt wird

8

Ich möchte die Ansichten wechseln, wenn auf einer angezeigten Karte auf eine Detailansicht geklickt wird. Mein aktueller Code ist wie folgt:

%Vor%

Ich kann damit zum View-Controller wechseln, aber ich habe noch nicht herausgefunden, wie man es erzwingen kann, Details aus dem JSON-Array zu ziehen, mit dem die Map erzeugt wurde. Ich ziehe Daten wie folgt, um die Karte zu generieren:

%Vor%

Ich weiß, dass ich ein bisschen vom Ziel abwich. Vielleicht hilft nur ein Tritt in die richtige Richtung. Danke!

    
Brandon 11.02.2013, 04:38
quelle

1 Antwort

11

Wenn Sie Storyboards verwenden und einen Übergang von Ihrer aktuellen Szene zu Ihrer Zielszene haben, können Sie einfach auf calloutAccessoryControlTapped antworten. Zum Beispiel:

%Vor%

Offensichtlich können Sie nach dem Annotationstyp suchen, der diesem view zugeordnet ist, usw., wenn Sie verschiedene Segmente haben, die Sie für verschiedene Annotationstypen aufrufen möchten.

Und natürlich, wenn Sie wie üblich in prepareForSegue irgendwelche Informationen an diese nächste Szene weitergeben wollen.

%Vor%

Wie Sie sehen können, gebe ich das Objekt annotation an meine nächste Ansicht weiter. Wenn Sie in Ihrer JSON-Struktur zusätzliche Felder haben, die mit jeder Annotation verknüpft sind, besteht eine einfache Lösung darin, Ihrer benutzerdefinierten Ansicht Eigenschaften hinzuzufügen, die für jedes Feld zugeordnet sind, das Sie verfolgen möchten. Wechseln Sie einfach zu der benutzerdefinierten Klasse ".h" und fügen Sie die gewünschten Eigenschaften hinzu. Und dann, wenn Sie Ihre eigenen Anmerkungen erstellen (die zur Karte hinzugefügt werden sollen), legen Sie einfach auch diese Eigenschaften fest. Wenn Sie diese Annotation an den nächsten View-Controller übergeben, sind alle gewünschten Eigenschaften dort verfügbar.

Wenn Sie NIBs verwenden, tun Sie einfach die NIB-Entsprechungen, die Sie benötigen, um den nächsten View-Controller zu instanziieren, die gewünschten Eigenschaften einzustellen und entweder dorthin zu gelangen oder es modal zu präsentieren, z. B .:

%Vor%     
Rob 11.02.2013, 04:51
quelle