弹出到初始视图控制器



我当前正在编写一个使用嵌入式navigation controllers的应用程序。我需要从嵌入式一个内部弹出第一个视图控制器的初始视图。

此代码行只会将我返回到嵌入式导航controller的初始视图:

[self.navigationcontroller poptorootViewControllerralleranimated:yes];

有什么想法?

您可以这样做一些递归功能。为了方便起见,无论您想要什么命名或将其作为类别。

- (void)recursivePop:(UIViewController *)viewController
{
   if (viewController.navigationController)
   {
       [viewController.navigationController popToRootViewControllerAnimated:YES];
       [self recursivePop:viewController.navigationController];
   }
}

然后在视图控制器中您想用这样调用。

[self recursivePop:self];

swift版本:

func recursivePop(controller: UIViewController?){
    if let controller = controller {
        if let nav:UINavigationController = controller.navigationController {
            nav.popToRootViewControllerAnimated(true)
            self.recursivePop(controller)
        }
    if let split:UISplitViewController = controller.splitViewController {
            if let nav:UINavigationController = split.navigationController {
                nav.popToRootViewControllerAnimated(true)
                self.recursivePop(controller)
            }
        }
    }
}

相关内容

  • 没有找到相关文章

最新更新