Je refactoring un projet existant pour quitter l'utilisation de .storyboards et supprimé l'interface principale initiale dans .plist, mais pour une raison quelconque, l'application crée deux instances d'UIWindow.iOS App crée deux UIWindow
Je ne sais pas pourquoi cela se produit, et le résultat de ceci est quand je crée mon UIWindow réelle et utiliser makeKeyAndVisible()
pour une seconde, je reçois un écran noir jusqu'à ce que la rootViewController
réelle devient visible, Cela se produit parce que dans cette fraction de secondes, il affiche la première UIWindow dont la couleur est nil
. Si quelqu'un a une idée sur les raisons de ce qui se passe, je vous serais reconnaissant un tas;)
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()
}
Afficher votre code AppDelegate? – DonMag
@DonMag a ajouté le code appDelegate :) –
Désolé, je ne peux pas dupliquer la "double instance" de 'UIWindow' en utilisant le code standard pour le fonctionnement sans" Interface principale "définie. Je suppose que vous voyez cela dans Debug View Hierarchy? Comment assignes-tu 'window' dans' appCoordinator'? – DonMag