recherche

Maison  >  Questions et réponses  >  le corps du texte

swift - iOS启动页面之后会黑屏1秒左右才进入主画面

我的app启动页面是用的图片,如下图。

但是每次启动的时候,启动图片结束后会黑屏1秒左右才进入主页面,这是为什么呢?
而且奇怪的是,并不是次次都黑屏,有时候又不黑屏。

大家讲道理大家讲道理2773 Il y a quelques jours738

répondre à tous(9)je répondrai

  • ringa_lee

    ringa_lee2017-04-18 09:15:32

    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.

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-18 09:15:32

    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.

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-18 09:15:32

    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

    répondre
    0
  • PHPz

    PHPz2017-04-18 09:15:32

    Le rootViewController de votre fenêtre est-il défini ?

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:15:32

    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

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-18 09:15:32

    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    self.window.backgroundColor = [UIColor whiteColor];
    self.window.rootViewController = XXX;
    [self.window makeKeyAndVisible];

    répondre
    0
  • ringa_lee

    ringa_lee2017-04-18 09:15:32

    N'y a-t-il pas de page de lancement correspondant à la taille de l'écran de l'appareil ?

    répondre
    0
  • 迷茫

    迷茫2017-04-18 09:15:32

    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

    répondre
    0
  • 迷茫

    迷茫2017-04-18 09:15:32

    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

    .

    répondre
    0
  • Annulerrépondre