Question

Comment puis-je retarder le chargement de l'application pour afficher l'écran de démarrage plus longtemps?

Était-ce utile?

La solution

Vous devez laisser l'application commence comme d'habitude, puis faire la première vue qui semble avoir l'image identique à ce que l'écran de démarrage. Démarrer une minuterie et remplacez ce point de vue avec votre vue racine de l'application réelle après quelques secondes.

retardait le lancement Délibérément d'application réelle est un gros no-no.

Autres conseils

Mise à jour: Non sérieusement, NE PAS faire

Ou nous la fonction C

sleep(9);

Mettre cela en applicationDidFinishLaunching. Provoquera vous programmez de faire une pause pendant 9 secondes, tout autre entier peut être saisi et

EDIT: J'ai beaucoup appris l'année dernière. Ne pas faire cela. La raison étant que le tremplin arrêtera automatiquement le lancement de l'application si elle prend trop de temps. Ce moment est mal documenté de sorte que même une seconde peut entraîner l'échec de l'application.

Cette question est similaire: comme vengeance tap tap 3

En fait, dans votre applicationDidFinishLaunching :, ajoutez une vue d'image sur d'autres vues contenant votre Default.png.

Voir la discussion ci-dessus pourquoi vous ne devriez probablement pas retarder votre charge de l'application de cette façon. Mais si vous arrive d'avoir un scénario où dormir pour courte durée serait préférable à la tête de commutation en vue, utilisez de NSThread sleepForTimeIntervale au lieu de sommeil (). Il est plus convivial cadre et vous avez un contrôle plus granulaire sur le temps de sommeil:

[NSThread sleepForTimeInterval:0.75]

J'ai eu une situation où le client a dû démo l'image de lancement. Alors, ce fut ma solution ..

- (void)applicationDidBecomeActive:(UIApplication *)application

{

UIImageView *defaultImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Default@2x.png"]];
[self.window addSubview:defaultImageView];
sleep(2);
[defaultImageView removeFromSuperview];
[defaultImageView release];
/*
 Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
 */

}

Vous pouvez utiliser la méthode de sommeil pour obtenir ce résultat «

  

sleepForTimeInterval

» Si vous voulez obtenir le temps de lancer, faire comme:

- (void) applicationDidFinishLaunching:(UIApplication*)application
{
   [NSThread sleepForTimeInterval:8.0];
}

Il va retarder le lancement de 8 secondes

Attention: Mais il est pas recommandé par Apple, car il la watchdod sur les temps pour votre chargement de l'application, il peut tuer votre application. Mais Incase si vous en avez besoin pour obtenir une capture d'écran spécifique ou pour une utilisation en interne, vous pouvez utiliser pour résoudre des fins, mais jamais dans la soumission de l'application.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top