Ich habe nur die Storyords benutzt, um einen Navigations-Controller zu unterklassifizieren, bevor ich irgendein Tutorial finde, wie ich das für xibs machen kann.
Wie füge ich einen Naviagtion Controller zu einem bestimmten Xib hinzu, so dass ich es unterklassifizieren kann? Dann kann ich die Rotation für meine Ansicht überschreiben. Der Teil, den ich festhalte, ist, wie der View-Controller über den Navigationscontroller weiß? In Storyboards würde ich es manuell an meinen View-Controller anschließen. Ich kann es einfach nicht mit xibs ausarbeiten?
Ich habe einen Navigationscontroller neben meinen Ansichten xib hinzugefügt ... jetzt brauche ich einen Rat von hier.
Ich habe auch iPad-Ansichten von meinem ursprünglichen iPhone Xibs erstellt. Wenn ich den Nav-Controller von IB auf die iPhone-Bildschirmgröße ziehe?
Sie müssen ein UINavigationController
in einer xib-Datei nicht wie bei Storyboards festlegen, da eine xib nur einen Bildschirm darstellt. Die normale Sache wäre allo / init a UINavigationController
und UIViewController
, und setzen Sie den View-Controller als Wurzel des Navigations-Controllers, bevor Sie ihn anzeigen. Dies kann in der App Delegate erfolgen, wenn Sie möchten, dass Sie die ganze App in einen Navigationscontroller vom Start eingebunden haben.
Im App-Delegaten in einer Non-Storyboard-App möchten Sie so etwas
%Vor% Dabei ist self.navigation
eine UINavigationController
Eigenschaft oder iVar, die zum App Delegate gehört. Wenn Sie den View-Controller in der xib richtig einrichten möchten, wählen Sie die Root-Ansicht in der xib und öffnen Sie den Attribute Inspector (RHS, der wie ein kleiner Schild aussieht) und wählen Sie "Navigation Bar" in der "Top Bar" Dropdown-Menü. Dies zeigt eine Navigationssteuerungs-Oberleiste in xib an, so dass Sie die anderen Ansichten entsprechend positionieren können.
BEARBEITEN
Das ist nicht ganz korrekt, Sie können den Navigationscontroller in einer XIB-Datei erstellen, aber ich habe es immer als problematischer betrachtet, da es nur sehr wenige visuelle Elemente gibt und sie sehr gut im Code gesetzt werden können leicht.
Weitere Informationen in diesem Tutorial hier
Wenn Sie die Rotationen des Navigations-Controllers überschreiben möchten, erstellen Sie einfach eine UINavigationController-Unterklasse, die die Rotationsmethoden außer Kraft setzt, und dann mit dem Code von P-double anstatt [UINavigationController alloc]
aufzurufen, sollten Sie etwas wie [MyNavigationController alloc]
aufrufen. und es sollte alles wunderbar funktionieren dank der Wunder der objektorientierten Programmierung.
Tags und Links objective-c ios xcode cocoa-touch