J'ai trouvé la raison. Lorsque la page d'accueil chargée est initialisée, une opération de lecture des données est effectuée de manière synchrone, ce qui bloquera le thread de l'interface utilisateur et provoquera un écran noir brièvement de l'interface utilisateur.
Vous pouvez imprimer l'horodatage sur la première ligne de didFinishLaunchingWithOptions de appDelegate et l'horodatage sur viewDidAppear de la page d'accueil pour voir si la différence entre les deux est trop longue. Y a-t-il des opérations fastidieuses sur le thread principal, telles que la lecture et l'écriture de bases de données, le chargement de fichiers volumineux, etc.
Les bugs occasionnels sont plus difficiles à gérer. Le ViewController de la première interface a-t-il fait quelque chose pour bloquer le thread principal avant ViewAppear Sinon, vous pouvez d'abord essayer d'attribuer LaunchScreen à un fichier StoryBoard, puis LaunchScreen est rempli ? avec des photos
L'écran noir signifie que votre interface rootVC n'est pas affichée, ou qu'elle est noire ou vide. Il est recommandé de définir la vue rootVC sur une couleur accrocheuse, comme le rouge, et de vérifier la situation
J'ai trouvé la raison. Lorsque la page d'accueil chargée est initialisée, une opération de lecture des données est effectuée de manière synchrone, ce qui bloquera le thread de l'interface utilisateur et provoquera un écran noir brièvement de l'interface utilisateur.
Je soupçonne que cela a pris trop de temps.
Vous pouvez imprimer l'horodatage sur la première ligne de
didFinishLaunchingWithOptions
de appDelegate et l'horodatage sur viewDidAppear de la page d'accueil pour voir si la différence entre les deux est trop longue. Y a-t-il des opérations fastidieuses sur le thread principal, telles que la lecture et l'écriture de bases de données, le chargement de fichiers volumineux, etc.Les bugs occasionnels sont plus difficiles à gérer. Le ViewController de la première interface a-t-il fait quelque chose pour bloquer le thread principal avant ViewAppear
Sinon, vous pouvez d'abord essayer d'attribuer LaunchScreen à un fichier StoryBoard, puis LaunchScreen est rempli ? avec des photos
Le rootViewController de votre fenêtre est-il défini ?
L'écran noir signifie que votre interface rootVC n'est pas affichée, ou qu'elle est noire ou vide. Il est recommandé de définir la vue rootVC sur une couleur accrocheuse, comme le rouge, et de vérifier la situation
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.window.backgroundColor = [UIColor whiteColor];
self.window.rootViewController = XXX;
[self.window makeKeyAndVisible];
N'y a-t-il pas de page de lancement correspondant à la taille de l'écran de l'appareil ?
La page de démarrage n'est pas chargée, n'utilisez pas lanuchimage, créez un StoryBoard et mettez des photos dessus, et tout ira bien
J'ai également le même problème. Le LaunchImage montre que lorsque le programme est réveillé, la page sort et l'écran clignote en noir
.