Reputation: 4929
I have a UIViewController
called FriendsViewController
inside a UINavigationController
. And a second UIViewController
called FriendsDetailedViewController
. When navigating from the first view controller to the second, I want to programmatically press the Back
button when needed. How to do this?
Upvotes: 60
Views: 34863
Reputation: 2118
Simply use
[self.navigationController popViewControllerAnimated:YES]
from FriendsDetailedViewController. Your view will be popped out i.e. the behavior of back button.
Note that it returns
UIViewController
on normally, and returnsnil
if there is nothing to pop.
Upvotes: 176
Reputation: 310
Swift 5
self.navigationController?.popViewController(animated: true)
Usage in a code snippet:
func unwindViewController() {
self.navigationController?.popViewController(animated: true)
}
Upvotes: 3
Reputation: 17247
Here is how I did it in Swift 3
_ = self.navigationController?.popViewController(animated: true)
_
is used to suppress the ugly warning generated by XCode.
Upvotes: 0
Reputation: 126
1) When you pop in current NavigationController Then
In Swift
self.navigationController?.popViewControllerAnimated(true)
Objective C
[self.navigationController popViewControllerAnimated:YES];
2) When you back another Navigation controller Then
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 Objective C
UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"storyBoardName" bundle:nil];
pushVC* ObjectOfPushVC = [storyboard instantiateViewControllerWithIdentifier:@"pushVC"];
[self.navigationController pushViewController:ObjectOfPushVC animated:YES];
Upvotes: 0
Reputation: 2375
Here is the swift method
if let navController = self.navigationController {
navController.popViewControllerAnimated(true)
}
Upvotes: 9
Reputation: 1996
If by pressing "Back" button you mean just to go to the previous view controller, you can just call:
[self.navigationController popViewControllerAnimated:YES];
Upvotes: 16