繁体   English   中英

从Modal导航到Root ViewController

[英]Navigate to Root ViewController From Modal

我有一个根视图控制器(RVC),它打开了一个Modal ViewController(MVC)。 然后我通过推送在MVC中导航到更多的VC。 从其中一个VC回到RVC的最佳做法是什么?

通常情况下,我有一个来自Modal VC的代表调用RVC然后解除模态,但是如果你离开它,但我不确定如果你离开它我会怎么做。

没有看到任何代码,它有点难以帮助,但让我在黑暗中拍摄。

我将假设模态视图中提供的第一个控制器提供了调用dismiss动作的协议/委托。

如果你在模态视图中使用UINavigationController来推送堆栈上的其他视图控制器,你总是可以获得这样的第一个控制器

UIViewController * yourFirstController = [[[self navigationController] viewControllers] objectAtIndex:0];

// and then use your delegate to call your dismiss method
// you will need to typecast your controller based on your subclass otherwise will get warning here
if ([[yourFirstController delegate] respondsToSelector:@selector(yourCloseProtocolMethod)]) {
    [[yourFirstController delegate] yourCloseProtocolMethod];
}

不要忘记委托不必是模型导航堆栈中UIViewController的属性。 考虑创建一个单独的类,该类包含对rootviewcontroller的引用作为委托。 这样,应用程序中的任何类都可以访问它,并且您不必被迫不断地将它传递给需要它的每个UIViewController。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM