Frage

Ich habe einen offlineMapVC und einen onlineMapVC für meine Anwendung, um sowohl Online-Karten (mit MapKit und Google Maps) als auch Offline-Karten (mit Route-Me ).

Ich habe meinen eigenen mapVC erstellt, um das Umschalten dieser mapVCs zu verwalten und den View Controller als einen separaten View Controller verwenden zu können. Nun, ich habe dies getan, indem ich die Instanzvariablen offlineMapVC und onlineMapVC des neuen mapVC erstellt habe, den ich jetzt in meiner gesamten Anwendung verwende.

Zunächst einmal scheinen aber alle Dinge zu funktionieren. Bei längerer Verwendung dieses Ansatzes stieß ich jedoch auf einige Probleme, da ich View Controller in einer Hierarchie verwendete. Ich habe gelesen, dass dies der falsche Weg ist. Was ist der richtige Weg, um das Umschalten zwischen zwei View-Controllern zu verwalten? Meine Frage scheint ziemlich einfach zu sein, aber ich konnte keine anständige Lösung finden.

War es hilfreich?

Lösung

Ich habe selbst View-Controller in View-Controller eingefügt, und ich habe viel bessere Programmierer gesehen als ich, die dasselbe tun. (Siehe Rob Napier "iOS 5-Programmierung - Grenzen überschreiten". Er erwähnt dies häufig.) Solange Sie nicht mehr als einen Ansichts-Controller haben, der dieselben Ansichten und Unteransichten direkt steuert, sollten Sie damit einverstanden sein.

Seit Jonah Williams diesen Artikel geschrieben hat, hat iOS 5 die Verwendung der View Controller-Hierarchie mit benutzerdefinierten Content View Controllern formalisiert. Sie können Ihre mapVC als benutzerdefinierten Controller für die Inhaltsansicht betrachten und onlineMapVC und offlineMapVC als untergeordnete View-Controller implementieren.

(Apple-Dokumentationslinks ändern sich in der Regel häufig, daher Google "Custom Content View Controller" für die Dokumentation.)

Wenn Sie dem, was Sie unter "Wechseln zwischen zwei Ansichts-Controllern" verstehen, mehr Kontext geben können, hilft dies bei der Beantwortung Ihrer Frage. Im Allgemeinen ist mehr als ein View Controller gleichzeitig aktiv. Ich wechsle nicht zwischen ihnen. (Ich verwende Navigations- und Registerkartensteuerungen in derselben Anwendung, aber ich gehe davon aus, dass Sie wissen, wie diese funktionieren, und dass Sie eine andere Frage stellen. Es ist einfach nicht klar, was die Detials in Ihrem Fall sind.)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top