【发布时间】:2015-03-12 13:50:16
【问题描述】:
例如,我有 baseVC、firstVC 和 secondVC。 BaseVC 是最初显示的唯一 VC,然后当用户按下 baseVC 中的按钮时,他们会看到出现 secondVC。当他们解雇 secondVC 时,他们会看到 firstVC。当他们关闭 firstVC 时,他们会再次看到 baseVC。
换句话说,我想同时呈现两个视图控制器,一个在另一个之上。我希望它像显示单个视图控制器一样进行动画处理。
这似乎是最初显而易见的解决方案:
//Presents secondVC over firstVC, currently off-screen.
firstVC.presentViewController(secondVC, animated: false, completion: nil)
//Presenting firstVC brings firstVC and secondVC onscreen.
baseVC.presentViewController(firstVC, animated: true) {
() -> Void in
}
这样做会给我一个错误:
警告:尝试呈现在谁的 视图不在窗口层次结构中!
而我看到的不是我的结果,而是简单的 firstVC 呈现。
我怎样才能做到这一点?
编辑:这些都应该以模态方式显示。
【问题讨论】:
-
您是否尝试在第一个的完成处理程序中这样做?你喜欢那个动画吗?
-
在那里执行意味着第一个出现,然后第二个动画或立即出现,这显然取决于动画设置。但是不,这不是我想要的结果。我想对用户隐藏 firstVC,直到他们关闭 secondVC。
-
只需改变你的调用顺序,首先呈现 firstVC,然后在 firstVC 中呈现 secondVC
-
@luk2302 this 在 firstVC 中动画,然后立即显示 secondVC。
标签: ios swift uiviewcontroller uinavigationcontroller