web-dev-qa-db-fra.com

Fermeture d'une vue affichée via un segment modal

J'appelle manuellement un segue (défini comme modal) afin d'afficher un formulaire de connexion dans Xcode 4.2 à l'aide de Storyboards avec la ligne de code suivante:

[self performSegueWithIdentifier:@"LoginSegue" sender:nil];

Il manque probablement quelque chose de très simple, mais je ne trouve pas le moyen de fermer par programmation la vue de connexion et de revenir à la vue précédente.

La vue fait partie d’un contrôleur d’affichage de navigation. Régler le type de séquence sur "Push" me permet d’utiliser le bouton Précédent pour me renvoyer à mon écran précédent, mais en mode "modal", je ne sais pas trop comment atteindre cet objectif (après avoir appuyé sur un bouton, par exemple)

Toute aide serait très appréciée.

77
Nick

Si votre cible de déploiement est iOS 5.0 ou une version ultérieure, utilisez ce message:

[self dismissViewControllerAnimated:YES completion:nil];

Ou à Swift:

self.dismissViewControllerAnimated(true, completion: nil)

Si votre cible de déploiement est plus ancienne, utilisez ce message (obsolète):

[self dismissModalViewControllerAnimated:YES];
172
rob mayoff

[self dismissViewControllerAnimated:YES completion:nil]; est une nouvelle manière dans IOS5

13
denny

Ce qui suit devrait bien fonctionner ...

[self dismissModalViewControllerAnimated:YES];

Je fais exactement cela avec une page de connexion dans mon dernier tutoriel ici , sans aucun problème.

5
Simon

Le code suivant fonctionne dans Swift 3:

 self.dismiss(animated: true, completion: nil)
4
Bogdan Razvan