How to press "Back" button in UINavigationController programmatically
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?
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.
If by pressing "Back" button you mean just to go to the previous view controller, you can just call:
[self.navigationController popViewControllerAnimated:YES];
Here is the swift method
if let navController = self.navigationController {
navController.popViewControllerAnimated(true)
}
Swift 5
self.navigationController?.popViewController(animated: true)
Usage in a code snippet:
func unwindViewController() {
self.navigationController?.popViewController(animated: true)
}
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];
Here is how I did it in Swift 3
_ = self.navigationController?.popViewController(animated: true)
_
is used to suppress the ugly warning generated by XCode.
精彩评论