2010-04-21 7 views
1

Je développe le développement de l'iPhone en auto-apprentissage et je vois que l'un des aspects d'une application iPhone/iPad est l'image de démarrage qui s'affiche lorsque votre application est courir. J'aimerais que mon image de démarrage affiche des informations de base sur l'utilisateur lors du lancement de l'application, mais cette information doit d'abord être collectée par l'utilisateur lors de la première exécution de l'application. Cela me dit que j'ai soit besoin de générer dynamiquement l'image de démarrage après que l'utilisateur entre leurs informations ou que je doive placer une étiquette de quelque sorte sur mon image de démarrage statique afin d'accomplir ceci. La première fois que l'application est lancée et avant que l'utilisateur n'entre ses informations, l'image de départ peut être quelque chose ou rien du tout, cela ne me préoccupe pas.Bonnes façons de générer dynamiquement l'image de démarrage d'une application iPhone/iPad

Alors, mes questions sont ...

  1. Pouvez-vous placer des commandes, comme une étiquette, au-dessus de l'image de démarrage lorsque votre application est lancée?
  2. Sinon, quelle est la bonne approche pour générer dynamiquement l'image de démarrage après le premier lancement de l'application et la collecte des informations de l'utilisateur?
  3. S'il n'y a aucun moyen de changer cette image de démarrage (merci kristopher!), Puis-je afficher mon image générée dynamiquement pendant un laps de temps défini (~ 3 secondes) dès que l'image de départ se ferme? Dois-je même utiliser une image de démarrage?

Merci beaucoup d'avance pour votre aide! Je vais commencer à faire des recherches sur cette question maintenant.

Répondre

4

Pour répondre au numéro 3, Oui, vous avez besoin d'une image de démarrage. Cela devrait ressembler à votre image de démarrage dynamique mais sans les informations dynamiques.

Pour afficher les informations dynamiques brièvement après le lancement, il suffit d'utiliser un contrôleur de vue modal sur le dessus de ce contrôleur vue vient en premier (appelé viewController ci-dessous):

SplashScreenController *splashScreen = [[SplashScreenController alloc] initWithNibName:@"SplashScreenController" bundle:nil]; 
[viewController presentModalViewController splashScreenController animated:NO]; 
[splashScreenController release]; 

[viewController performSelector:@selector(dismissModalViewControllerAnimated:) withObject:YES afterDelay:3]; 

Il est évident que vous devez créer une sous-classe UIViewController et fichier xib appelé SplashScreenController.

+0

merci pour le code, j'apprécie! – BeachRunnerFred

2

Les applications ne peuvent pas modifier leurs images de démarrage. Ces fichiers image, ainsi que d'autres fichiers dans l'ensemble de l'application, sont traités en lecture seule par le système d'exploitation.

Si vous n'avez pas d'image de démarrage, l'utilisateur ne verra qu'un écran noir pendant une seconde ou deux (ou plus, selon la taille de votre application). C'est une bonne idée d'avoir une image de démarrage.

Vous pouvez afficher ce que vous voulez après le démarrage de votre application.

+0

merci, kristopher! Je ne suis pas du genre à abandonner facilement et j'ai du mal à croire qu'il n'y a aucun moyen d'accomplir quelque chose quand il s'agit de programmer. J'ai révisé ma question et posté une troisième question dans ma liste, quelles sont vos pensées? Merci encore! – BeachRunnerFred

+0

bonnes pensées, merci! – BeachRunnerFred

1

Je fais quelque chose de similaire à ce que vous essayez d'accomplir, sauf que je n'affiche pas les informations utilisateur. Si vous voulez voir ce que j'ai fait, consultez mon application How Long Can You Tap It (gratuit). La toute première image, comme l'a mentionné Kristopher, n'est pas modifiable. Il sera affiché aussi longtemps que l'application prendra charge. Ensuite, l'image disparaîtra et montrera votre viewController initial, qui sera ce que vous voulez. Dans mon application, il s'agit simplement de la même image que l'image initiale, mais au lieu de dire LOADING, j'affiche un texte vous indiquant de toucher l'écran pour commencer à jouer. Si vous ne voulez pas compter sur l'utilisateur pour appuyer sur l'écran pour continuer, vous pouvez faire ce que Frank a dit et le rejeter dans un délai de X secondes. Si vous voulez plus de code que ce que Frank a fourni, faites le nous savoir.

Questions connexes