我有一个 View Controller ,它以模态方式呈现 TableView Controller 。在所呈现的 TableView Controller 的 didSelectRowAt 方法中,我实例化了另一个 View Controller 。我想关闭呈现的 View Controller 并让呈现的 View Controller 推送这个新的 View Controller 。
我可以以某种方式使用它吗?
self.presentingViewController?.navigationController?.pushViewController(newVC, animated: true)
最佳答案
I want to dismiss the presented view controller and have the presenting view controller push this new view controller.
模态视图 Controller 通常代表某种问题,例如您想看什么照片?或您想与哪个联系人交谈? Controller 应该让用户指示一个答案,然后它应该将该答案返回给其父级,即呈现 Controller 。呈现 View Controller 应该负责下一步做什么。解雇模态 Controller ?调整数据模型?将新 Controller 推送到导航堆栈上?
将呈现 View Controller 和模态 Controller 之间的关系视为雇佣协议(protocol),其中呈现 Controller 是经理,模态 Controller 是 worker 。工作人员可能会根据经理的要求执行某些任务,然后进行报告,以便经理可以决定下一步该做什么。但 worker 不会告诉经理该做什么——那不是 worker 的工作。
关于ios - 从呈现 View Controller 推送 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48289945/