web-dev-qa-db-fra.com

Comment utiliser performSegueWithIdentifier: sender :?

Je suis un nouveau développeur iOS et je suis en train de créer un jeu pour iPhone et je l'écris dans Objective-C.

Cette question sera probablement très facile à répondre mais je n’ai pu la trouver nulle part ailleurs. J'utilise des storyboards dans cette application et je les utilisais bien lorsqu'un utilisateur a appuyé sur un bouton pour aller au prochain storyboard. Cependant, pour cela, lorsque la séquence doit se dérouler automatiquement, je suis complètement perplexe quant à la manière de procéder.

Je souhaite qu'un logo apparaisse pendant environ cinq secondes au lancement de l'application, puis le menu principal devrait apparaître. J'essaie d'utiliser performSegueWithIdentifier: sender: pour y parvenir, j'ai néanmoins consulté la documentation d'Apple et cela ne répond pas vraiment à ma question sur l'utilisation de cette méthode. 

Je sais à quoi sert cette méthode, mais pas le code que je dois taper pour l'utiliser correctement.

De plus, si j'utilise une méthode complètement fausse, ou s'il existe un moyen beaucoup plus facile de réaliser ce que j'essaie de faire, ce serait très apprécié… .. Toute aide est utile. Merci d'avance

13
OLZ1

Pour créer une sorte d'écran de démarrage pour votre application, créez simplement la vue correspondante dans votre Storyboard et définissez-la comme point d'entrée (ou racine d'un contrôleur de navigation, etc.). Créez une séquence comme précédemment, mais faites-la glisser du contrôleur de vue 'Splash' vers le contrôleur 'Menu principal'. Avec la séquence sélectionnée, définissez son identifiant dans l'inspecteur d'attributs sur ShowMainMenu

Créez une méthode dans le contrôleur de vue 'Splash' qui effectue le segue:

- (void)showMainMenu {
    [self performSegueWithIdentifier:@"ShowMainMenu" sender:self];
}

Dans la méthode viewDiDLoad du contrôleur de vue 'Splash', ajoutez:

[self performSelector:@selector(showMainMenu) withObject:nil afterDelay:5.0];

Voilà!

40
ThisDarkTao

Cela ne répond pas à votre question Segue. Mais cela résout le problème fondamental qui consiste à afficher un écran de démarrage dans une application ios:

Ce que vous décrivez (et ce que beaucoup d’applications montrent) est une "image de lancement". Pas besoin de coder le vôtre. Dans Xcode, allez simplement dans les paramètres de votre cible, puis "Résumé" et ajoutez des images de lancement.

Vous devez fournir des images de lancement pour différentes résolutions et périphériques d'affichage.

Si vous souhaitez afficher l'image pendant au moins 5 secondes, voir ici: augmenter le temps de lancement de l'image sur xcode

1
DerWOK