2016-04-26 13 views
2

mein Projekt läuft ohne Storyboards, so im Laden meiner Ansicht nach innen AppDelegate:Xcode App wird nicht Ansicht laden manchmal

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    UIWindow *window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    self.window = window; 
    self.window.rootViewController = [[SYLoginController alloc] init]; 
    [self.window makeKeyAndVisible]; 
    return YES; 
} 

Es verwendet auf dem iPhone zu arbeiten 6 sim 9.3 aber jetzt, bei den Simulatoren es nur Shows ein schwarzer Bildschirm. Aber auf meinem iPhone 6 Gerät funktioniert es. Während auf einem anderen iPhone 6 es auch einen schwarzen Bildschirm zeigt. Diese beiden iPhones sind buchstäblich das gleiche 16gb iPhone 6, das fast zur gleichen Zeit gekauft wurde.

In SYLoginController s viewDiDLoad Ich protokolliere den Text eines der Schaltflächen. Nur auf meinem Gerät druckt es den Text, auf allen Simulatoren und dem anderen iPhone druckt es (null), also nehme ich an, dass der Xib nicht richtig geladen ist.

SYLoginController ist ein UIViewController, und die zugehörige Xib enthält eine UIView, deren FilesOwner auf SYLoginController festgelegt ist. Ich kann wirklich nicht sehen, warum es nur auf diesem bestimmten Gerät funktioniert. Auch ich versuchte [[SYTabBarController alloc] initWithNibName:@"SYLoginController" bundle:nil], das funktioniert auch nicht ...

+0

Haben Sie versucht, Cleanning (Cmd-K) oder App in realen Gerät zu deinstallieren, bevor Sie das Projekt ausführen? Es sollte auch nicht in echten Geräten funktionieren. –

+0

Ich habe versucht, das Projekt zu reinigen, ich habe versucht, abgeleitete Daten zu reinigen, ich auch die App mehrmals deinstalliert. Ein iPhone funktioniert, der andere nicht und nicht der Simulator. –

Antwort

0

Haben Sie versucht, es um einen Navigationscontroller wickeln?

SYLoginController *syVC = [[SYLoginController alloc]initWithNibName:@"SYLoginController" bundle:nil]; 
UINavigationController *nav = [[UINavigationController alloc] syVC]; 
self.window.rootViewController = nav; 

Überprüfen Sie erneut, ob Custom Class in der XIB-Datei auf SYLoginController gesetzt ist. Und die Ansicht ist mit dem Dateibesitzer verbunden.

+0

Ich habe es versucht, jetzt ist es ein Navigationscontroller (Sie können die Navigationsleiste sehen) mit einem schwarzen Bildschirm ... –

+0

Ja, Sie können die Navigationsleiste ausblenden. Aber seltsam ... Überprüfen Sie die XIB-Datei. Drucken Sie die Views Frame Size aus. Geben Sie dem SyLoginController eine andere Hintergrundfarbe. –

+0

Ich kann self.window.backgroundColor verwenden, um die Hintergrundfarbe der Ansicht festzulegen, aber es scheint, dass die Xib nicht geladen ist. Seltsam auf meinem iPhone funktioniert es. –