下面您可以看到我的 View 层次结构。绿色的 View 是最后一个 View 。从最后一个 View ,我想显示另一个 View ,由黑色箭头指示。
但是,当用户想要从此 View 导航回来时,应显示初始 View (由黄色箭头指示)。我可以从最后一个 View 转到“黑色箭头” View 。但是当用户返回时如何显示初始 View (黄色箭头)?
最佳答案
方法1:嗯,那就要看你的segues了,如果都是push类型,那么你的绿色VC也会被嵌入。如果是,那么您可以通过 [self.navigationController popToViewController:desiredViewController animated:YES]
浏览所有层次结构.
此方法的作用是:弹出 View Controller ,直到指定的 View Controller 位于导航堆栈的顶部。
Reference: UINavigationController Class
方法2:如果您仍然想使用模式呈现,您可以创建weak delegate
属性将 greenController 与呈现它的 Controller 绑定(bind)(或使用 NSNotificationCenter 监听您的 dismiss 模态视图 Controller 事件)。一旦用户按下关闭按钮,呈现绿色 Controller 的 Controller 就会将其重定向到黄色 Controller ,而没有动画。它会产生一种错觉,即一旦您关闭 Controller ,下面就是黄色 Controller 。不过,这仍然取决于您在黄绿色 Controller 之间的转换需求。
关于iOS 从最后一个 View 的初始 View 导航到第二个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22894692/