导航控制器中移除某一个控制器

1. 使用此代码,并享受:

NSMutableArray *navigationArray = [[NSMutableArray alloc] initWithArray: self.navigationController.viewControllers];
// [navigationArray removeAllObjects]; // This is just for remove all view controller from navigation stack.
[navigationArray removeObjectAtIndex: 2]; // You can pass your index here
self.navigationController.viewControllers = navigationArray;
[navigationArray release];

希望这会帮助你。 
2. 你可以先获取数组中的所有视图控制器,然后用相应的视图控制器类检查后,你可以删除你想要的。 下面是一小段代码:

NSArray* tempVCA = [self.navigationController viewControllers];
for(UIViewController *tempVC in tempVCA)
{
 if([tempVC isKindOfClass:[urViewControllerClass class]])
 {
  [tempNavBarItems removeFromParentViewController];
 }
}

我认为这将使您的工作更轻松。 
3. 如果你正试图从第五视图控制器(跳过第3和第4)移动到第二个视图控制器,你想[self.navigationController popToviewController:secondViewController]。 你可以得到secondViewController从导航控制器堆栈。

secondViewController = [self.navigationController.viewControllers objectAtIndex:yourViewControllerIndex];


//-----------------

//先push

    [self.navigationController pushViewController:chatController animated:YES];

 

    //移除成员档案控制器

    NSArray* tempVCA = [self.navigationController viewControllers];

    for(UIViewController *tempVC in tempVCA)

    {

        if([tempVC isKindOfClass:[InquiryObjectViewController class]])

        {

            [tempVC removeFromParentViewController];

        }

    }

    self.navigationController.viewControllers = tempVCA;

 

//点击返回按钮 直接回到上一个控制器

 

转载于:https://www.cnblogs.com/ios-wang/p/5316091.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值