iOS 从最后一个 View 的初始 View 导航到第二个 View

标签 ios objective-c storyboard

下面您可以看到我的 View 层次结构。绿色的 View 是最后一个 View 。从最后一个 View ,我想显示另一个 View ,由黑色箭头指示。

但是,当用户想要从此 View 导航回来时,应显示初始 View (由黄色箭头指示)。我可以从最后一个 View 转到“黑色箭头” View 。但是当用户返回时如何显示初始 View (黄色箭头)?

enter image description here

最佳答案

方法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/

相关文章:

ios - 如何在具有部分和搜索的 UITableView 中编写 PrepareForSeque 代码

iphone - 在 iOS 下,有没有办法确定崩溃报告中正在执行的架构?

ios: 如何在 ios 中运行 html 数据?

ios - 详细 View 中的 TableView 在原型(prototype)单元格上方有空白

ios - 如何在不使用 seagues 到 UIPopover 的情况下获得 Storyboard 创建的 UIViewController?

wpf - 如何在属性上触发 Storyboard

objective-c - 得到一个 NSException 不知道为什么

ios - 由于未捕获的异常 'NSInternalInconsistencyException' 而终止应用程序,原因 : 'Could not load NIB in bundle

ios - iPhone : Multiple touches on a UIButton are not recognized

objective-c - 如何处理标签栏 Controller 内的导航 Controller ?