我有两个表视图控制器,它们通过Storyboard中的"segues“相互连接。然后我切下了"segues“并插入了另一个控制器。现在的连接不是通过"segues“。要连接我正在使用的代码的视图:
UIStoryboard *storyboard = self.storyboard;
OptionsViewController *options = [storyboard instantiateViewControllerWithIdentifier:@"OptionsViewController"]
[self.navigationController pushViewController:options animated:YES];
现在,当我点击导航栏中的“后退”按钮时,我的程序崩溃了。如何修复它?
控制台显示(在视图加载之后,在我按下“后退”按钮之前。):“嵌套的推送动画可能会导致导航栏损坏”“在意外状态下完成导航过渡。导航栏子视图树可能会损坏。”
在我按下“后退”按钮后:"terminating with uncaught of type NSException“
导航控制器是我的故事板中的初始控制器,但视图之间没有连接。
修正:我刚刚在代码的末尾设置了"animated:NO“。
发布于 2014-01-03 13:53:15
尝试将行修改为
[self.navigationController pushViewController:options animated:YES];
更新
如果你不关心普通的后退按钮,试试下面的代码。
- (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];
}
你可以尝试使用样式来设置你想要的按钮样式。
发布于 2014-01-03 14:16:52
在viewDidAppear
不安全之前检查调用pushViewController
。所以你应该根据它来创建你的代码。
https://stackoverflow.com/questions/20897305
复制相似问题