ios - 从呈现 View Controller 推送 View Controller

标签 ios swift modalviewcontroller pushviewcontroller

我有一个 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/

相关文章:

ios - 减少png图像的文件大小

ios - 与阿拉莫菲尔合作

ios - Swift 将 PHAsset 数组转换为 URL 数组

iOS 9.1 在辅助功能检查器打开时崩溃应用程序

arrays - 快速使用过滤器来获取两个数组之间的差异

ios - 最佳实践委托(delegate)和 modalViewControllers

ios - 实例化模态视图 Controller 会卡住应用程序 - Xcode 7 可能存在问题

ios - 关闭模态视图,然后执行 segue 打开第二个模态视图

javascript - 如何使用 Sencha Touch 制作动态 GridView ?

ios - CollectionView EstimatedItemSize 不适用于 iOS 9 和 10