Lade einen View-Controller und zeige die Hierarchie programmatisch in Cocoa Touch ohne Xib an

7

Es sieht so aus, als ob alle Cocoa Touch-Vorlagen so eingerichtet sind, dass sie eine Feder laden.

Wenn ich ein neues Projekt starten möchte, das einen View-Controller verwendet, und seine Ansicht (Hierarchie) programmatisch laden, nicht von einer nib / xib, was sind die Schritte zum Einrichten oder Anpassen einer Vorlage?

Ich musste zwar nur -loadView implementieren, aber ich habe jedes Mal Probleme, wenn ich das versuche.

    
Joe Ricioppo 01.05.2009, 01:50
quelle

2 Antworten

16

Es ist relativ einfach, eine vollständig programmatische Benutzeroberflächengenerierung durchzuführen. Zuerst müssen Sie main.m folgendermaßen bearbeiten:

%Vor%

Dabei ist MyAppDelegate der Name Ihrer Anwendungsdelegiertenklasse. Dies bedeutet, dass eine Instanz von MyAppDelegate beim Start erstellt wird, was normalerweise von der Haupt-Nib-Datei für die Anwendung gehandhabt wird.

Implementieren Sie in MyAppDelegate die Methode "applicationDidFinishLaunching:", die der folgenden ähnelt:

%Vor%

Dabei ist MyRootViewController der View-Controller für die primäre Ansicht in Ihrem Fenster. Dies sollte das Hauptfenster initialisieren und die von MyRootViewController verwaltete Ansicht hinzufügen. rootController wird als Instanzvariable innerhalb des Delegates zur späteren Referenz gespeichert.

Dadurch sollten Sie Ihre Benutzeroberfläche über MyRootViewController programmgesteuert generieren können.

    
Brad Larson 01.05.2009, 16:27
quelle
3

UIViews selbst haben keine Hierarchie, wie es UINavigationControllers tun. Also initiiere eines von diesen und platziere einen UIViewController auf seinem Stack. Dies sollte es auf die grundlegendste Weise tun, ohne XIB-Dateien überhaupt. Sie sollten darauf aufbauen können.

%Vor%     
mmc 01.05.2009 02:10
quelle