60 votes

Comment appuyer sur le bouton "Back" dans le UINavigationController de manière programmatique ?

J'ai un UIViewController appelé FriendsViewController à l'intérieur d'un UINavigationController . Et une deuxième UIViewController appelé FriendsDetailedViewController . Lorsque je navigue du premier contrôleur de vue au second, je veux appuyer de manière programmatique sur le bouton Back lorsque cela est nécessaire. Comment faire ?

0 votes

Peut-être voulez-vous simplement revenir à la vue précédente ?

176voto

Mann Points 938

Il suffit d'utiliser

[self.navigationController popViewControllerAnimated:YES]

de FriendsDetailedViewController. Votre vue sera sortie, c'est-à-dire qu'elle aura le même comportement que le bouton retour.

0 votes

Est-ce que cela supprimera le VC actuel de la pile ?

16voto

Bartek Points 1416

Si, en appuyant sur le bouton "Back", vous voulez simplement revenir au contrôleur de vue précédent, vous pouvez simplement l'appeler :

[self.navigationController popViewControllerAnimated:YES];

9voto

MGM Points 957

Voici la méthode rapide

if let navController = self.navigationController {
    navController.popViewControllerAnimated(true)
}

12 votes

Ou juste navigationController?.popViewControllerAnimated(true) .

0 votes

..ou juste (swift 4) : navigationController?.popViewController(animated: true)

3voto

Amit Points 299

Swift 5

 self.navigationController?.popViewController(animated: true)

Utilisation dans un extrait de code :

func unwindViewController() {
    self.navigationController?.popViewController(animated: true)
}

0voto

Jay Mayu Points 6095

Voici comment je l'ai fait en Swift 3

_ = self.navigationController?.popViewController(animated: true)

_ est utilisé pour supprimer le vilain avertissement généré par XCode.

1 votes

Vous ne laissez pas, donc vous pouvez juste écrire : _ = self.navigationController ?.popViewController(animated : true)

0 votes

@BrianOgden Merci pour le conseil :)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X