如何从拆分视图控制器(ipad 后退按钮)中删除 viewcontroller?

How to delete a viewcontroller from a split view controller (ipad back button )?

我使用以下代码从 navigationcontroller(viewcontrollers) 中删除了我的登录页面,这样当返回(后退按钮)时它就不会再次出现在视图中。

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
NSMutableArray *VCs = [NSMutableArray arrayWithArray: self.navigationController.viewControllers];
   if ([[VCs objectAtIndex:[VCs count] - 2] isKindOfClass:[loginViewController class]]&&(VCs.count>=4))

   { [VCs removeObjectAtIndex:[VCs count] - 2];
   [VCs removeObjectAtIndex:[VCs count] - 2];
   [self.navigationController setViewControllers: VCs];
 }
NSLog(@" after :%@",VCs);
}

这非常适合我 phone.I 为 ipad

尝试了以下代码
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
    {

NSMutableArray *VCs = [NSMutableArray arrayWithArray: self.splitViewController.viewControllers];
    NSLog(@" bofore :%@",VCs);
    if ([[VCs objectAtIndex:[VCs count] - 2] isKindOfClass:[loginViewController class]]&&(VCs.count>=4))
    {

        [VCs removeObjectAtIndex:[VCs count] - 2];
        [VCs removeObjectAtIndex:[VCs count] - 2];

        [self.navigationController setViewControllers: VCs];
        NSLog(@" after :%@",VCs);

    }

}

但本例中可变数组 VC 的内容是 UINavigationControllar 个对象。 任何人都知道如何为 ipad 做同样的事情吗?提前致谢..

在iPhone中, NSMutableArray *VCs = [NSMutableArray arrayWithArray: self.navigationController.viewControllers]; 根控制器是一个导航控制器,因此使用上面的语句,您将在其堆栈中获得视图控制器。

在iPad中, NSMutableArray *VCs = [NSMutableArray arrayWithArray: self.splitViewController.viewControllers]; 根控制器是一个 splitviewcontroller,它包含导航控制器堆栈,因此您可以在数组中获得导航控制器。 添加以下代码行并使用 ViewControllers Array 提取您自己的 viewcontroller.

UINavigationController *navContoller = self.splitViewController.viewControllers[0]; // Get the Navigation Controller
NSMutableArray *viewControllers = [NSMutableArray arrayWithArray: navController.viewControllers];