如何从拆分视图控制器(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];
我使用以下代码从 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];