如何从模态视图推送 UIViewController

Posted

技术标签:

【中文标题】如何从模态视图推送 UIViewController【英文标题】:How to push a UIViewController from a modal view 【发布时间】:2010-05-24 13:11:11 【问题描述】:

我以模态方式呈现一个 UIViewController,但想从模态视图中推送另一个 ViewController。由于 pushViewController 在模态视图中不起作用,如何做到这一点。谢谢

【问题讨论】:

【参考方案1】:

使用 UINavigationController 作为显示模式的视图。然后你可以推到那个控制器上。

【讨论】:

谢谢,这确实有效,但是尽管将动画设置为 YES,但推送没有被动画化 它没有动画的原因是导航控制器没有根视图控制器。我使用了如下的差异方法。【参考方案2】:

我使用的方法与 Mike 的建议略有不同。我创建了一个导航控制器 (NC) 并使用要以模态方式呈现的视图控制器 (VC) 的根视图控制器对其进行初始化。然后我以模态方式呈现 nc。然后我可以在需要时从 VC 成功推送。

【讨论】:

也许我不是很清楚,但这与我描述的方法相同。我假设您将设置根目录,因为您无法在堆栈上没有任何内容的情况下显示导航控制器。这就是为什么你没有看到任何动画的原因。放在导航控制器堆栈上的第一个视图(根视图)没有动画。

以上是关于如何从模态视图推送 UIViewController的主要内容,如果未能解决你的问题,请参考以下文章

从模态视图使用 NavigationLink 的 SwiftUI 推送视图

从模态视图或推送视图调用父方法到presentingViewController

从模态视图控制器推送/弹出到另一个视图控制器(包括图片)

如何在一种情况下推送视图控制器,但在另一种情况下以模态方式呈现它?

模态下的弹出/推送视图

ios:如何关闭模态视图控制器,然后弹出推送的视图控制器