web-dev-qa-db-fra.com

iOS: Revenir à la vue précédente

J'ai deux points de vue comme celui-ci dans Story Board:

[View1] -> [Contrôleur de navigation] -> [View2]

Pour passer de View1 (avec tableview) à View 2, je le fais en cliquant sur une ligne dans View1:

self.performSegueWithIdentifier("showmyview2", sender:self)

Cela marche.

Maintenant, j’ai un bouton sur la vue 2 qui, une fois cliqué, devrait me ramener à la vue précédente, c’est-à-dire la vue 1.

J'ai essayé ceci:

 navigationController!.popViewControllerAnimated(true)

Mais ça ne marche pas. Comment puis-je revenir à la première vue?

8
Jasper

Ajoutez d'abord un contrôleur de navigation à votre première vue1 via le storyboard. (Editeur-> Contrôleur de navigation intégré), si la navigation n'est pas présente.

OU 

self.dismissViewControllerAnimated(true, completion: nil);

Appelez cette fonction et essayez au lieu de navigation popviewcontroller

32
Mukesh

Utilisez ce code pour présenter la première vue dans votre action de bouton:

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("FirstView") as! TableViewController
self.presentViewController(vc, animated: true, completion: nil)

Et n'oubliez pas de donner Id à votre première vue.

Sélectionnez votre première vue dans storyBoard puis cliquez sur Inspecteur d'identité et vous pouvez attribuer un ID StoryBoard comme indiqué dans l'image ci-dessous.

enter image description here

5
Dharmesh

self.dismiss (animé: vrai, achèvement: nul); cela fonctionnera dans Swift 3

0
Saneesh