swift - 过渡到上一个 View 时呈现模式

标签 swift uinavigationcontroller modal-dialog

当我离开特定的 View Controller 时,我想让它在导航堆栈中的前一个 View 上显示一个模态视图。目前我正在使用以下代码执行此操作:

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    self.navigationController?.viewControllers.last?.present(myModalView, animated: false, completion: nil)
}

似乎有效,但每次我离开 View 时,我都会在控制台中收到警告:

Presenting view controllers on detached view controllers is discouraged <Project.MyViewController: 0x7fe09281a400>.

所以我担心可能存在我尚未遇到的问题。有“正确”的方法吗?

最佳答案

事实证明,self.present(myModalView,animated: false,completion: nil) 工作完美,没有任何警告。回想起来,我可能应该先测试一下,但我认为它不会起作用,因为 View 正在消失。

此外,它根本不animated: true一起工作,而我原来的解决方案可以没有任何警告(但我不这样做)不希望它被动画化)。不确定这是否只是异步进程的工作原理,或者是否还有更多内容。

关于swift - 过渡到上一个 View 时呈现模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50475826/

相关文章:

math - Swift 枚举递归关联值

swift - Swift 函数中的字典

iphone - 加载某些 View 时如何隐藏 TabBarView?

vue.js - (Vue.js) 模态关闭事件

swift - 在 URLSession 闭包中调用委托(delegate)方法时崩溃

objective-c - 查看 Objc 文件的 swift 界面

crash - UINavigationController 由于推送和弹出 UIViewController 而崩溃

objective-c - 阻止导航 Controller 导航并要求用户确认

javascript - 如何使用具有相同 ID 的多个按钮打开相同模式?

javascript - 对话框,当 "x"单击时永久隐藏 (javascript)