我正在通过界面构建器使用Container View
控件将UINavigationController
及其堆栈嵌入到我的应用中。
我遇到的问题是后退按钮不能在Root VC上推送的所有VC上运行。
您按下这些按下的VC上自动生成的后退按钮,没有任何反应。
修改
没有编写代码。它现在全部都在IB中建立。
如您所见...... Container View及其嵌入式视图控制器设置为UInavigation Controller。左边的空白最终将是一个可滑动的菜单 - 这就是设置的原因。然后在根RV上有一个下一个按钮,它会切换到第二个视图控制器。
上面显示了这种状态。按后退按钮(标记为测试)不执行任何操作。通常它会弹出顶视图控制器并返回'测试'。很明显,嵌入会以某种方式干扰正常的UINavigiationController函数。
我只是不知道如何。
另一个编辑:
在顶部View Controller上制作自定义按钮并手动调用
[self.navigationController popViewControllerAnimated:true];
实际上工作,顶视图控制器已从堆栈中删除。
所以问题是为什么后退按钮不起作用?
答案 0 :(得分:9)
当我忘记在我的导航栏中添加了一个水龙头手势识别器时,我遇到了类似的问题。后退按钮实际上接收了触摸(按下状态),但在您的示例中没有做任何事情。导航栏上的自定义按钮有效。 删除手势识别器后,后退按钮再次工作。
也许容器视图中的其他一些视图/或手势识别器正在接触......