首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在单击导航栏中的“后退”按钮时设置自定义视图控制器?

如何在单击导航栏中的“后退”按钮时设置自定义视图控制器?
EN

Stack Overflow用户
提问于 2014-01-03 13:41:43
回答 2查看 280关注 0票数 0

我有两个表视图控制器,它们通过Storyboard中的"segues“相互连接。然后我切下了"segues“并插入了另一个控制器。现在的连接不是通过"segues“。要连接我正在使用的代码的视图:

代码语言:javascript
运行
复制
UIStoryboard *storyboard = self.storyboard;
OptionsViewController *options = [storyboard instantiateViewControllerWithIdentifier:@"OptionsViewController"]
[self.navigationController pushViewController:options animated:YES];

现在,当我点击导航栏中的“后退”按钮时,我的程序崩溃了。如何修复它?

控制台显示(在视图加载之后,在我按下“后退”按钮之前。):“嵌套的推送动画可能会导致导航栏损坏”“在意外状态下完成导航过渡。导航栏子视图树可能会损坏。”

在我按下“后退”按钮后:"terminating with uncaught of type NSException“

导航控制器是我的故事板中的初始控制器,但视图之间没有连接。

修正:我刚刚在代码的末尾设置了"animated:NO“。

EN

回答 2

Stack Overflow用户

发布于 2014-01-03 13:53:15

尝试将行修改为

代码语言:javascript
运行
复制
[self.navigationController pushViewController:options animated:YES];

更新

如果你不关心普通的后退按钮,试试下面的代码。

代码语言:javascript
运行
复制
- (void) viewDidLoad
{
// ADD BELOW CODE IN viewDidLoad ALONG WITH REST OF YOUR CODE
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@”back”
style:UIBarButtonItemStyleBordered target:self action:@selector(backBarButton:)];

self.navigationItem.leftBarButtonItem = backButton;

}
- (void) backBarButton:(id)sender
{
[self.navigationController popViewControllerAnimated:YES];
}

你可以尝试使用样式来设置你想要的按钮样式。

票数 0
EN

Stack Overflow用户

发布于 2014-01-03 14:16:52

viewDidAppear不安全之前检查调用pushViewController。所以你应该根据它来创建你的代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20897305

复制
相关文章

相似问题

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