导航控制器
问题描述:
在我的申请中,我有一个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];
}
我收到以下错误:
* Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: 'Tried to pop to a view controller that doesn't exist.'
答
如果你需要回到你的导航层次结构中的第一个视图控制器,然后使用:
[self.navigationController popToRootViewControllerAnimated:YES];
答
你的问题我不清楚。但我认为这可以帮助:
推登录控制器在使用该导航堆栈,
LoginViewController *loginViewController = [[ LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
self.navigationController pushViewController:loginViewController animated:NO];
,并在推屏幕(登录视图控制器):
推另一个控制器。然后添加一个后退按钮。在它的点击
执行以下命令:
[self.navigationController popViewControllerAnimated:YES];
总是登录视图中的第一个,你可以有更多的导航水平? – sergio