我有一个应用程序,它使用导航控制器为用户记录测量数据。第一个屏幕根据用户设置重复使用多次。他们可以选择测量他们的手臂,腿,肚子等,有十多种选择。第二个屏幕记录重量,第三个屏幕显示摘要。
屏幕 A 中的逻辑决定了调用哪个 segue 来决定是转到屏幕 B 还是 C 还是返回屏幕 A。
但...
如果用户只选择记录自己的体重,是否可以完全跳过屏幕A?请注意,我根本不希望它出现在堆栈上,即如果跳过它,则没有从屏幕 B 到屏幕 A 的后退按钮。
我有一个应用程序,它使用导航控制器为用户记录测量数据。第一个屏幕根据用户设置重复使用多次。他们可以选择测量他们的手臂,腿,肚子等,有十多种选择。第二个屏幕记录重量,第三个屏幕显示摘要。
屏幕 A 中的逻辑决定了调用哪个 segue 来决定是转到屏幕 B 还是 C 还是返回屏幕 A。
但...
如果用户只选择记录自己的体重,是否可以完全跳过屏幕A?请注意,我根本不希望它出现在堆栈上,即如果跳过它,则没有从屏幕 B 到屏幕 A 的后退按钮。
感谢@rajath 把我送到正确的方向,我把它复杂化了!您的代码不起作用
[self.navigationItem setHidesBackButton:YES];
确实隐藏了按钮,但是当我弹出到根目录时,它引起了有趣的行为。但是,使用相同的原理,我做到了这一点,这是一种享受:
NSMutableArray *allViewControllers = [NSMutableArray arrayWithArray: self.navigationController.viewControllers];
[allViewControllers removeObjectAtIndex:0];
self.navigationController.viewControllers = allViewControllers;