web-dev-qa-db-fra.com

Implémentation d'un écran de démarrage dans iOS

Je suis un débutant dans les développements Cocoa, Objective-C et iOS.

J'aimerais implémenter une vue qui n'est qu'un écran de démarrage et ne dure que peu de temps avant de passer à la vue principale. Avez-vous une idée de la façon dont je devrais mettre cela en œuvre? Des tutoriels ou des exemples de code? J'en ai plusieurs avec plusieurs vues, mais aucune avec une minuterie pour rediriger vers une autre après quelques secondes, comme je le veux 

41
Patrice Cote

Voir Images de lancement d'application (par défaut) dans le Guide de programmation d'applications iOS.

Il convient également de noter que Apple a conseillé de ne pas utiliser l’image de lancement comme un écran de démarrage Apple HIG

40
Espresso

Vous pouvez facilement implémenter votre vue en haut de la vue principale mais dans votre appDelegate. Par exemple, si vous souhaitez une image de démarrage disparaissant dans la vue principale: (ou une image par défaut semblant s’effacer: placez simplement la même image sur l’écran de démarrage et l’écran par défaut) . Cela vous donne également la bonne orientation tant que c'est la vue principale.

Ajoutez-le simplement dans votre méthode application:(UIApplication *)application didFinishLaunchingWithOptions::

 UIImageView*imageView=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"your_default_image_or_another.png"]];
[[firstViewController view] addSubview:imageView];
[[firstViewController view] bringSubviewToFront:imageView];

// as usual
[self.window makeKeyAndVisible];

//now fade out splash image
[UIView transitionWithView:self.window duration:1.0f options:UIViewAnimationOptionTransitionNone animations:^(void){imageView.alpha=0.0f;} completion:^(BOOL finished){[imageView removeFromSuperview];}];
32
NightCoder

Comme @Espresso a posté le lien, je veux juste vous l'expliquer.

Si vous venez de placer une image nommée Default.png dans votre projet, elle sera utilisée pour l’écran d’accueil. Cependant, vous pouvez utiliser un nom d'image différent en le spécifiant explicitement dans un fichier plist.

12
Waqas Raja

Je sais que je réponds à une question de presque un an, mais cela peut aider quelqu'un d'autre.

Je viens de découvrir que vous pouvez le faire dans XCode4! Ce qui en fait un processus assez simple maintenant.

  1. Sélectionnez votre projet dans la vue de navigation 
  2. sous Cibles sélectionnez votre application
  3. Sélectionnez l'onglet Résumé
  4. Faites défiler la liste et vous verrez un endroit pour ajouter vos images de démarrage
  5. Faites un clic droit sur les cases pour sélectionner un fichier
11
Bharat

Les autres réponses sont bonnes, mais j'aimerais ajouter que, pour les applications iPhone, votre Default.png devrait être 320x480 et que pour les affichages Retina, vous devriez ajouter [email protected] 640x960.

6
nylund

Dans XCode 4, vous pouvez cliquer sur le Nom du projet (le parent dans la hiérarchie à gauche).

Ensuite, dans l'onglet Résumé, sous iPhone et iPad, vous pourrez sélectionner les images Launch pour chaque forme du système de fichiers.

4
Flaviu

Pour ajouter un écran de démarrage, il vous suffit de remplacer toutes les images par défaut ([email protected], ....) par votre image de démarrage avec le même nom par défaut (pour tout type d’affichage matériel) . Pour augmenter la durée de votre écran de démarrage screen, dans la méthode appDelegate

didFinishLaunchingWithOptions 

il suffit de dormir le fil principal pendant la durée souhaitée:

[NSThread SleepForTimeInterval:(Your time interval)];

vous pouvez également utiliser le sommeil (intervalle de temps) dans

didFinishLaunchingWithOptions

sleep(3);
3
user2834776

Ayant juste eu à résoudre ce même problème moi-même, j'ai pensé poster une mise à jour.

J'ai constaté que je devais définir les orientations de l'interface prise en charge dans Info.plist avant que cela ne fonctionne correctement.

J'ai également trouvé cet article sur iOSDeveloperTips.com très utile: Gestion de plusieurs images de lancement

3
HaemEternal

Il vous suffit d'ajouter trois images pour iPhone, iPhone 5 et iPad nommées Default.png, [email protected] et [email protected]. Maintenant, la clarté des images dépend de la taille que vous prenez. Vous devriez prendre les tailles standard.

2
Ashutosh

Pour ajouter un écran de démarrage, ajoutez d'abord cette image dans votre projet, puis ajoutez le code suivant à votre méthode AppDelegate dans la méthode didFinishLaunching.

[NSThread SleepForTimeInterval:(Time interval)];
1
Ashwin H

Dans le monde iOS, il s’appelle - Écran de lancement et c’est un schéma général.

Vous pouvez fournir un écran de lancement sous la forme d'un storyboard Xcode ou d'un ensemble d'images statiques pour les périphériques pris en charge par votre application. L'utilisation d'un storyboard Xcode est l'approche recommandée, car les storyboards sont flexibles et adaptables.

Par exemple, lorsque vous créez un nouveau projet à vue unique, un fichier LaunchScreen.storyboard est généré automatiquement. Pour le changer, allez simplement <Project> -> General -> App Icons and Launch Images

0
yoAlex5