如何从模态视图推送 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