ios - 关闭所有呈现的视图控制器 modalPresentationStyle = .custom
问题描述
我有 3 个视图控制器。1.ViewController 2.InitialViewController 3.FinalViewController
ViewController 被添加到导航控制器。ViewController 的 modalPresentationStyle 是custom
. ViewController 呈现 InitialViewController。InitialViewController 的modalPresentationStylecustom
也是。InitialViewController 呈现 FinalViewController。FinalViewController modalPresentationStylecustom
也是。FinalViewController 呈现 InitialViewController(是的,第二次使用更新的 UI)。InitialViewController 提供了 FinalViewController 的另一个实例。
最后的安排是这样的
NavigationController -> ViewController (presents) -> InitialViewController 1 (presents) -> FinalViewController 1 (presents) -> InitialViewController 2 (presents) -> FinalViewController 2.
当我通过调用关闭 FinalViewController 2
dismiss(animated: true, completion: nil)
我还有 InitialViewController 1、FinalViewController 1、InitialViewController 2 的 TransitionViews。InitialViewController 2 还在。(如图所示)
我知道这可以通过调用来删除
self.presentingViewController?.presentingViewController?.presentingViewController?.presentingViewController?.dismiss(animated: true, completion: nil)
或者
self.view.window?.rootViewController?.dismiss(animated: true, completion: nil)
但是通过这样做,FinalViewController 2 的解雇不是动画的。我是否需要另一个自定义过渡来完成此解雇?
解决方案
推荐阅读
- networking - SMB - 服务器从不响应会话设置请求
- angularjs - 对 GET 请求进行编码时,CORS 有效
- routing - 从 VLAN2 上的服务器获取 VLAN1 的 MAC 地址
- amazon-web-services - EKS AWS:无法连接工作节点
- python - pyqt5 自动完成 QLineEdit - Google 放置自动完成
- javascript - 为初学者创建 Discord Bot
- swift - 描述或使用字符串来解释 UIColor
- sql - 理解语句
- ansible - 在ansible中使时间戳变量持久化
- vb.net - vb.net中的数据类型不匹配标准表达式,插入时访问