在我当前的应用程序中,我有三个UIViewControllers,我正在使用StoryBoard:
ViewController,MenuViewController,CategoriasListViewController。
要从ViewController显示MenuViewController,我正在使用按钮操作。 要从MenuViewController返回到ViewControler,我使用BarButton项目,其中包含以下操作方法:
- (IBAction)backButton:(id)sender {
[self.navigationController popViewControllerAnimated:YES];
}
要从MenuViewController显示CategoriasListViewController,我还使用了一个按钮操作。 要从CategoriasListViewController返回到MenuViewControler,我使用带有以下操作方法的BarButton项(与上面相同):
- (IBAction)backButton:(id)sender {
[self.navigationController popViewControllerAnimated:YES];
}
但在这种情况下,未显示MenuViewController,将忽略BarButton操作。
我使用自定义的BarButton操作而不是默认的Back按钮,因为在标题背景中我有一个带有徽标的图像,该徽标将与默认的Back按钮重叠。 欢迎任何帮助。谢谢。
更新1:这是我的StoryBoard:
答案 0 :(得分:1)
我在阅读你的故事板时遇到了困难,但我很确定如果你在方法- (IBAction)backButton:(id)sender
中设置一个断点,你就会达到那个断点。
我很确定当你按下按钮时该方法正在调用(除非你忘了挂钩)。
问题看起来就像是将CategoriasListViewController
包裹在全新的导航控制器中。因此,当-backButton:
接到电话时,您正在与新的NavigationController交谈,而不是您真正想要与之交谈的原始导航控制器。
删除那个第二个不必要的UINavigationController,它应该可以工作。