Wie mache ich eine universal-iPhone / iPad-Anwendung, die programmgesteuert verwendet UISplitViewController und UINavigationController?
Konnte ich nicht finden, eine gute Antwort überall auf dieser. Ich bin mit einem UINavigationController für meine iPhone-app, mit allem, was ist programmgesteuert generiert, nichts im Interface Builder. Ich bin versucht, mein port-app, um iPad, mit einem UISplitViewController und meine vorhandenen UINavigationController, aber ich bin nicht sicher, wo ich hätte die Logik der mein Programm die Trennung der view-Controller für das iPhone oder iPad.
Richte ich meine main-Datei an eine andere app verwenden oder delegieren nutze ich die gleiche app delegieren und haben die Benutzeroberfläche bedingt innerhalb es?
Außerdem, immer wenn ich versuche zu kompilieren meine app auf dem simulator erkennt er nicht die UISplitViewController oder auch der Zustand, in dem ich prüfe, ob die Klasse vorhanden ist.
Kann bitte jemand mich in die richtige Richtung, daran erinnern, dass ich bin nicht mit jedem xibs?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten, um zu sehen, ein Beispiel für eine vollständig programmatische iPhone /iPad-Schnittstelle, die verwendet eine split-Ansicht, können Sie den Quellcode herunterladen meine Anwendung Moleküle.
Innerhalb dieser Anwendung verwende ich eine Anwendung delegieren, aber ich die Schnittstelle unterschiedlich, je nachdem, welcher user-interface-idiom vorhanden ist (iPad oder iPhone). Für das iPhone, instanziiere ich ein root-view-controller verwaltet, die entsprechende Schnittstelle für das Gerät. Für das iPad habe ich zuerst erstellen Sie eine UISplitViewController und befestigen Sie es an das root-Fenster zu erzeugen, dann mein iPad-spezifischen root-view-controller und legen Sie es als detail-Ansicht der split-view-controller (mit einem navigation-controller, die ich benutze für die item-Auswahl ist, wie der linke-hand-Steuerung für den split-view).
Wieder, ich empfehle ein Blick auf die Anwendung-Projekt, um zu sehen, wie ich diese einrichten programmgesteuert. Der code ist unter BSD-Lizenz, so können Sie kopieren und fügen Sie diesen in Ihre eigene Anwendung, wenn Sie möchten.
Soweit die Zusammenstellung von Fehlern, die Sie bekommen, müssen Sie die Migration Ihrer Anwendung-target, um eine Universelle Anwendung mit dem "Upgrade Current Target for iPad" - Menü-option. Sobald das abgeschlossen ist, legen Sie Ihren build SDK 3.2. Gehen Sie zu Ihrer Anwendung build-Einstellungen und setzen Sie dessen Ziel der Bereitstellung der frühesten OS Sie unterstützen mit Ihrer Anwendung (mit 3.0 wird der am weitesten hinten Sie gehen können).
Schließlich werden Sie brauchen, um schwach-link UIKit. Wie Sie das tun, siehe meine Antwort hier.Schwach Verknüpfung der Rahmen ist nicht mehr notwendig, wenn Sie das Gebäude mit der iOS 4.2 oder höher SDK. Prüfen Sie einfach die Präsenz der entsprechenden Klassen zur Laufzeit, indem Sie sehen, wenn Ihre+class
Methode gibtnil
.