Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何从拆分视图控制器(ipad后退按钮)中删除viewcontroller?_Ios_Objective C_Ipad_Back - Fatal编程技术网

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

Ios 如何从拆分视图控制器(ipad后退按钮)中删除viewcontroller?,ios,objective-c,ipad,back,Ios,Objective C,Ipad,Back,我已经使用以下代码从NavigationControllerServiceController中删除了我的登录页面,这样在返回按钮时它就不会再次进入视图 if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) { NSMutableArray *VCs = [NSMutableArray arrayWithArray: self.navigationController.viewControllers]; if ([[VCs o

我已经使用以下代码从NavigationControllerServiceController中删除了我的登录页面,这样在返回按钮时它就不会再次进入视图

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);
}
这非常适合iPhone。我在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);

    }

}
但在这种情况下,可变数组VCs的内容是UINavigationControllar对象。 有人知道如何在ipad上实现同样的功能吗?提前感谢..

在iPhone中, NSMutableArray*VCs=[NSMutableArray arrayWithArray:self.navigationController.ViewController]; 根控制器是一个导航控制器,所以通过上面的语句,您可以在其堆栈中获得视图控制器

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

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

,感谢您的回答。但是,NSMutableArray ViewController现在包含一个视图控制器和另一个UINavigationControllar对象。还有self.splitViewController.viewControllers[0];提供MasterViewController。我使用索引1获取DetailViewContentRoller。您知道如何解决此问题吗。