在我的应用程序中,我有一个navigation controller
。我添加了一个后退按钮,以转到登录屏幕(UIViewController)
。如何从navigation controller
返回到登录屏幕
这是我的后退按钮的代码。
(void)viewDidLoad
{
[super viewDidLoad];
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonSystemItemCancel target:self action:@selector(goBacktoLogin)];
self.navigationItem.leftBarButtonItem = backButton;
}
(void) goBacktoLogin
{
LoginViewController *loginViewController = [[ LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
[[ self navigationController] popToViewController:loginViewController animated:YES];
}
我得到了以下错误:
*由于“NSInternalInconsistencyException”异常而终止应用程序, 原因:“试图弹出一个不存在的视图控制器。”
发布于 2012-07-02 08:58:18
如果需要返回导航层次结构中的第一个视图控制器,请使用:
[self.navigationController popToRootViewControllerAnimated:YES];
发布于 2012-08-01 10:00:15
你的问题我不清楚。但我认为这会有帮助:
将登录控制器推入导航堆栈,
LoginViewController *loginViewController = [[ LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
self.navigationController pushViewController:loginViewController animated:NO];
在推送屏幕(登录视图控制器)中:
推另一个控制器。然后添加一个后退按钮。点击它
执行以下命令:
[self.navigationController popViewControllerAnimated:YES];
https://stackoverflow.com/questions/11290480
复制相似问题