繁体   English   中英

在iOS上以编程方式调用导航控制器后退按钮

[英]Programmatically call navigation controller back button on iOS

在一个基于UINavigationController的iPhone应用程序中,在一个方法中,我想执行按下后退按钮的程序化等效项并返回视图。

即自动按下Jobs按钮,如下所示:

导航控制器图像

我可以进行通用的iOS通话,还是需要更多信息?

UINavigationController-popViewControllerAnimated:方法应该做你想要的:

[navigationController popViewControllerAnimated:YES];

假设您实际上并不想以编程方式按下按钮,而只是复制按下按钮的结果,您应该告诉导航控制器弹出当前视图控制器。

[self.navigationController popViewControllerAnimated:YES];

这将从堆栈中删除它,并返回到上一个视图控制器。

Swift 3.0

回到根视图

self.navigationController?.popToRootViewController(animated: true)

回到上一个视图

self.navigationController?.popViewController(animated: true)

斯威夫特2.3

回到根视图

self.navigationController?.popToRootViewControllerAnimated(true)

回到上一个视图

self.navigationController?.popViewControllerAnimated(true)

你应该打电话

popViewControllerAnimated:

这与使用pushViewController:animated:添加视图控制器相反pushViewController:animated:

[self.navigationController popViewControllerAnimates:YES];

是最好的选择,但如果您在同一个视图控制器类或您的委托更改之前调用后退按钮方法,那么您也可以尝试 -

首先你必须定义后退按钮---

UIBarButtonItem *newBackButton = [[UIBarButtonItem alloc] initWithTitle: @"anyTitleForBackButton" style: UIBarButtonItemStyleBordered target: nil action: @selector(backButtonTapped)];

[[self navigationItem] setBackBarButtonItem: newBackButton];

[newBackButton release];

然后在backButtonTapped方法中你可以调用 -

[self.navigationController pushViewController:desiredViewController animated:YES];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM