2017-09-06 2 views
0

Ich habe ein vorhandenes Projekt refactoring von der Verwendung von .storyboards entfernt und entfernt die ursprüngliche Hauptschnittstelle in .plist, aber aus irgendeinem Grund erstellt die App zwei Instanzen von UIWindow.iOS App erstellt zwei UIWindow

UIWindows

Ich habe keine Ahnung, warum dies geschieht, und das Ergebnis davon ist, wenn ich meine tatsächlichen UIWindow erstelle und makeKeyAndVisible() für eine zweite verwende ich einen schwarzen Bildschirm erhalten, bis die tatsächliche rootViewController sichtbar wird, Dies geschieht, weil in diesem Sekundenbruchteil das erste UIWindow angezeigt wird, dessen Farbe nil ist. Wenn jemand eine Idee, warum dies geschieht und ich habe eine Menge zu schätzen wissen;)

EDIT 1:

AppDelegate.swift

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 

    window = UIWindow(frame: UIScreen.main.bounds) 
    appCoordinator.start() 

    return true 
} 

AppCoordinator.swift

func start() { 
     let mainVC = UIStoryboard(storyboard: .main).instantiateInitialViewController() 
    window.backgroundColor = .white 
    window.rootViewController = mainVC 
    window.makeKeyAndVisible() 
} 
+0

Ihren AppDelegate-Code anzeigen? – DonMag

+0

@DonMag hinzugefügt die appDelegate Code :) –

+0

Sorry, ich kann die "doppelte Instanz" von 'UIWindow' nicht mit typischen Code für den Betrieb ohne eine" Main Interface "definiert duplizieren. Ich nehme an, Sie sehen das in der Debug-View-Hierarchie? Wie weisen Sie 'window' in' appCoordinator' zu? – DonMag

Antwort

0

Überprüfen Sie, ob "Hauptschnittstelle" leer ist:

enter image description here

+0

Vielen Dank für den Kommentar, ja, es ist :) –

Verwandte Themen