AppDelegate UIWindow addSubView in verschiedenen viewController
Ich versuche, fügen ein UILabel in UIWindow der AppDelegate von einem UIViewController. Dies ist, wie ich bin, dies zu tun:
AppDelegate code :
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
//Override point for customization after application launch.
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPhone" bundle:nil] autorelease];
} else {
self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPad" bundle:nil] autorelease];
}
[self.window makeKeyAndVisible];
self.window.rootViewController = self.viewController;
return YES;
}
ViewController-code :
- (void)viewDidLoad
{
UILabel *abcd=[[UILabel alloc] initWithFrame:CGRectMake(100.0, 100.0, 200.0, 40.0)];
abcd.text=@"loading...";
abcd.backgroundColor=[UIColor clearColor];
[[[[UIApplication sharedApplication] delegate] window] addSubview:abcd];
[super viewDidLoad];
}
Aber alle, die ich sehe ist Grau-Bildschirm, aber kein label. Wo ich vielleicht falsch läuft?
Nur ein kleiner Tipp, Sie nicht haben, um zu prüfen, ob die app läuft auf einem iPad zum laden einer bestimmten iPad oder iPhone anzeigen. Fügen Sie einfach die
Oh...Danke für den Tipp. 🙂 Nun die Antwort bitte. 🙂
~ipad
auf den Namen der Ansicht. So ist die iphone-Ansicht Dateiname: ViewController.xib
und die neue iPad-version: ViewController~ipad.xib
. Jetzt können Sie einfach laden Sie die anzeigen mit: [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]
- und iOS-laden Sie die richtige.Oh...Danke für den Tipp. 🙂 Nun die Antwort bitte. 🙂
InformationsquelleAutor Nitish | 2012-08-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
1) ich schlage vor, Sie kehren Sie die Reihenfolge der letzten zwei Delegierte Aussagen:
2), Während Sie sollte in der Lage sein, die Beschriftung hinzufügen, um das Fenster, sein etwas unorthodoxes zu tun. In jedem Fall, versuchen Sie, das label zu der viewController Ansicht und sehen, ob das funktioniert, und wenn dem so ist, und Sie wirklich wollen, fügen Sie es an das Fenster (aus irgendeinem Grund), dann fügen Sie ein Kommentar hier:
Wenn Sie noch nicht sehen können, das label ist es wahrscheinlich, dass es ein Problem mit der view-controller. Hast du definieren, alles, was in die Feder - Elemente, die sichtbar sein sollten, zu starten ? Wenn nicht, dann etwas hinzufügen, nur so können Sie sicher sein, die Aussicht ist in der Tat immer geladen. [Ein trick, den ich verwenden ist, legen Sie die Hintergrundfarbe des views zu rot oder blau, so kann ich sehen, dass Sie tatsächlich geladen wurden.]
InformationsquelleAutor David H
Müssen Sie nicht hinzufügen UILabel zu UIWindow, sollten Sie zu UIViewController. Ändern Sie diese Zeile:
:
InformationsquelleAutor alfonsomiranda
revers der um
Dann
versuchen Sie, auf den ersten Blick nicht zu dem Fenster mit dem folgenden code
Wenn das nicht zeigen Sie Ihr label dann der view-controller wird nicht immer geladen.
Wenn ja, dann überprüfen Sie die Eigenschaft der xib-Datei.
entfernen Sie die Fenster-alloc-Linie und überprüfen Sie die Haken für Ihre Fenster im Hauptfenster.xib-Datei, wenn die hoockup ist nicht richtig, dann wird es nicht laden Sie die Ansicht.
InformationsquelleAutor Rohit
Vielleicht Ihre view-controller die view ist für die, die Sie Hinzugefügt. Fügen Sie die neue Ansicht für den view-controller der view statt:
InformationsquelleAutor nevan king
Versuchen, diese nach dem hinzufügen UILabel in UIWindow
InformationsquelleAutor Paresh Navadiya