Wenn ich den Code unten im Simulator ausführen, erwarte ich, dass rot den Bildschirm ausfüllt, aber stattdessen ist alles schwarz, warum?uiview wird nicht im App-Delegaten angezeigt
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UIView * myView = [[UIView alloc] initWithFrame:[window bounds]];
[myView setBackgroundColor:[UIColor redColor]];
[window addSubview:myView];
[window makeKeyAndVisible];
return YES;
}
Wenn ich hinzufügen Initialisierung Fenster, das nicht hilft:
window = [[[UIWindow alloc] init] initWithFrame:[[UIScreen mainScreen] bounds]];
Meine Probleme begonnen, als nach einem Window-basierten Universal-Projekt in Xcode Schaffung ich das iPad/iPhone xib löschen entschieden Dateien und die iPhone/iPad-App delegieren Dateien, die automatisch im Projekt erstellt wurden, und stattdessen über einen einzelnen Anwendungsdelegaten mit einem Ansichtscontroller verfügen, der die Ansicht programmgesteuert auf dem Gerät erstellt. Jetzt kann ich keine einfache Ansicht anzeigen, die ich im App-Delegaten erstellt habe.
Bearbeiten: Ich habe das Hinzufügen einer Ansicht entfernt und jetzt die Hintergrundfarbe des Fensters auf rot gesetzt. Das hilft nicht, aber wenn ich im Simulator auf den Desktop gehe und die laufende App wieder öffne, bekomme ich jetzt einen roten Bildschirm. Wieder bin ich verwirrt darüber, warum ich beim ersten Start der App nicht rot sehe.
+1 Schönes Detail. –
Dies ist eine großartige Antwort und umreißt die Schritte, die ich gemacht habe, aber im Detail.Es stellte sich heraus, dass ich zweimal UIWindow initialisiert habe (siehe oben). Jetzt funktioniert alles. Danke für deine ausgezeichnete Antwort. – andrewz
Gern geschehen, ich fand es frustrierend, als ich anfing, da es eine Reihe von Schritten und Orten gibt, um Projekteinstellungen/Code zu bearbeiten. Ich bin nicht sicher, warum, aber an meinem Ende ist der Code nicht korrekt formatiert, obwohl ich versucht habe, es als Code zu markieren. –