【发布时间】:2018-03-20 09:13:56
【问题描述】:
假设我有以下 VC:
RootVC --> VC A --> VC B
我正在使用 present 方法将视图控制器从 RootVC 呈现给 VC A,然后呈现给 VC B。现在我在 VC B 上,我想使用
从 VC B 解散回 RootVCself.view.window!.rootViewController?.dismiss(animated: true, completion: nil)
它有效,但我仍然看到 VC A 在解雇过程中出现。然后,我试试这个方法
self.presentationController?.presentedViewController.dismiss(animated: true, completion: nil)
它也可以解散回根 VC,但我仍然看到 VC A 正在处理中。
我的问题是有没有办法在解雇过程中不显示 VC A?我已经尝试过动画:假但仍然得到相同的结果。谢谢!
【问题讨论】:
-
将
animated设置为false? -
如果你真的想要,绝对可以达到这个效果。在查看
B时,您显然不能在后台关闭A,因为A正在呈现B。因此,您可以做的是专门为B创建一个自定义关闭动画,它对根进行快照并从B关闭到该快照——对用户来说,它看起来就像直接关闭到根。您也可以从A推送到B并对其进行动画处理,使其看起来像礼物;因此,关闭B会将用户直接带到根目录。我个人不认为看到A在B之后自动关闭看起来很糟糕。