wake-up-neo.com

So drücken Sie programmgesteuert die Schaltfläche "Zurück" in UINavigationController

Ich habe ein UIViewController namens FriendsViewController in einem UINavigationController. Und ein zweites UIViewController namens FriendsDetailedViewController. Wenn ich vom ersten zum zweiten Ansichts-Controller navigiere, möchte ich bei Bedarf programmgesteuert die Taste Back drücken. Wie macht man das?

54
Timur Mustafaev

Einfach benutzen

[self.navigationController popViewControllerAnimated:YES]

von FriendsDetailedViewController. Ihre Ansicht wird hervorgehoben, d. H. Das Verhalten der Zurück-Taste

166
Mann

Wenn Sie mit der Schaltfläche "Zurück" nur zur vorherigen Ansichtssteuerung wechseln möchten, können Sie einfach Folgendes aufrufen:

[self.navigationController popViewControllerAnimated:YES];
16
Bartek

Hier ist die Swift Methode

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

Hier ist, wie ich es in Swift 3 gemacht habe

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

_ wird verwendet, um die von XCode generierte hässliche Warnung zu unterdrücken.

0
Jay Mayu

1) Wenn Sie den aktuellen NavigationController einblenden, dann

In Swift

self.navigationController?.popViewControllerAnimated(true)

Ziel C

[self.navigationController popViewControllerAnimated:YES];

2) Wenn Sie einen anderen Navigationscontroller unterstützen Dann

In 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)

In Ziel C

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

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