ios - 如何关闭当前呈现控制器并使用导航控制器导航到其他控制器?
问题描述
self.dismiss(animated: false) {
let vc = self.storyboard?.instantiateViewController(withIdentifier: "ViewController") as! ViewController
self.navigationController?.pushViewController(vc, animated: false)
}
解决方案
self.navigationController 只有在您的 ViewController 嵌入 UINavigationController 时才会有一个值,否则它将为零。在您的情况下,它为零,因此您的控制器已成功关闭,但未推送ViewController 。
在您的完成块中,使用self.presentingViewController推送对象。
self.dismiss(animated: false) {
let vc = self.storyboard?.instantiateViewController(withIdentifier: "ViewController") as! ViewController
self.presentingViewController?.navigationController?.pushViewController(vc, animated: false)
}
推荐阅读
- git - 将 Git 提交映射到版本/标签
- python - 时间序列 Keras LSTM 回显而不是预测
- ios - 在图像中定位 Xrite ColorChecker 样本
- java - NoSuchElementException 错误
- python - 如何从 1d numpy 数组和两个限制数组中获取切片区域的 2d 数组
- python - Python记录重复输出
- c - 如果进程被 SIGKILLed,操作系统(POSIX)是否完成对内存映射文件的修改?
- html - CSS,如何在不影响内联文本的情况下向下或向上移动?
- virtual-machine - 访问qemu套接字时libvirt Apparmor权限被拒绝
- reporting-services - 有没有办法在 SSRS 中分层图像?