首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >导航控制器

导航控制器
EN

Stack Overflow用户
提问于 2012-07-02 08:51:20
回答 2查看 597关注 0票数 0

在我的应用程序中,我有一个navigation controller。我添加了一个后退按钮,以转到登录屏幕(UIViewController)。如何从navigation controller返回到登录屏幕

这是我的后退按钮的代码。

代码语言:javascript
运行
复制
(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”异常而终止应用程序, 原因:“试图弹出一个不存在的视图控制器。”

EN

回答 2

Stack Overflow用户

发布于 2012-07-02 08:58:18

如果需要返回导航层次结构中的第一个视图控制器,请使用:

代码语言:javascript
运行
复制
[self.navigationController popToRootViewControllerAnimated:YES];
票数 1
EN

Stack Overflow用户

发布于 2012-08-01 10:00:15

你的问题我不清楚。但我认为这会有帮助:

将登录控制器推入导航堆栈,

代码语言:javascript
运行
复制
LoginViewController *loginViewController = [[ LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];

self.navigationController pushViewController:loginViewController animated:NO];

在推送屏幕(登录视图控制器)中:

推另一个控制器。然后添加一个后退按钮。点击它

执行以下命令:

代码语言:javascript
运行
复制
[self.navigationController popViewControllerAnimated:YES];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11290480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档