web-dev-qa-db-fra.com

Comment appuyer sur le bouton "Retour" dans UINavigationController par programmation

J'ai un UIViewController appelé FriendsViewController à l'intérieur d'un UINavigationController. Et un second UIViewController appelé FriendsDetailedViewController. Lors de la navigation du premier contrôleur de vue au second, je souhaite appuyer par programmation sur le bouton Back lorsque cela est nécessaire. Comment faire ça?

54
Timur Mustafaev

Utilisez simplement

[self.navigationController popViewControllerAnimated:YES]

de FriendsDetailedViewController. Votre vue apparaîtra, c'est-à-dire le comportement du bouton de retour

166
Mann

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

[self.navigationController popViewControllerAnimated:YES];
16
Bartek

Voici la méthode Swift

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

Voici comment je l'ai fait en Swift 3

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

_ est utilisé pour supprimer l'avertissement laid généré par XCode.

0
Jay Mayu

1) Lorsque vous entrez dans NavigationController actuel,

En Swift

self.navigationController?.popViewControllerAnimated(true)

Objectif C

[self.navigationController popViewControllerAnimated:YES];

2) Lorsque vous sauvegardez un autre contrôleur de navigation,

En Swift

let story = UIStoryboard(name: "Main", bundle: nil)
let pushVC = story.instantiateViewControllerWithIdentifier("PushVC")
let navigation = story.instantiateViewControllerWithIdentifier("homeNavigation") as! UINavigationController
navigation.pushViewController(pushVC!, animated: true)

Dans l'objectif C

UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"storyBoardName" bundle:nil];
pushVC* ObjectOfPushVC = [storyboard instantiateViewControllerWithIdentifier:@"pushVC"];

[self.navigationController pushViewController:ObjectOfPushVC animated:YES];
0
Mohit