poptorootviewcontroller 并指示 rootviewcontroller 执行一些操作

poptorootviewcontroller and instruct rootviewcontroller to perform some action

我有一个导航控制器,在它下面我有控制器 A 作为 rootviewcontroller,控制器 B 通过默认推送连接链接到 A。

我想做的是当在 B 中按下某些操作时,我会要求导航控制器弹出到根视图控制器,即 A,并应用一些 popovercontroller(或只是另一个视图或另一个 window) 在 A.

之上

有人建议我让 appdelegate 在当前 uiwindow 之上创建另一个 window。我认为这是可能的,我想知道这个问题是否有simpler/more优雅的解决方案。

我能做的一般解决方案将受到赞赏,Swift 中的一些简单代码示例将受到更多赞赏:P

我会在这里提供我自己的答案。

根据我自己的经验,没有popping segue,因此我们无法从segue中准确获取目标视图控制器。但是,UINavigationController 有一个属性 viewControllers,它基本上是堆栈上的所有子控制器。

所以在 popToRootViewController 之前,只需获取 VC 但调用 self.nagivationController.viewControllers[0] 并且您已经获取了根视图控制器