導航控制器中移除某一個控制器

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. 你能夠先獲取數組中的全部視圖控制器,而後用相應的視圖控制器類檢查後,你能夠刪除你想要的。 下面是一小段代碼:
ui

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從導航控制器堆棧。
spa

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


//-----------------
code

//先pushrem

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

 

    //移除成員檔案控制器io

    NSArray* tempVCA = [self.navigationController viewControllers];table

    for(UIViewController *tempVC in tempVCA)class

    {object

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

        {

            [tempVC removeFromParentViewController];

        }

    }

    self.navigationController.viewControllers = tempVCA;

 

//點擊返回按鈕 直接回到上一個控制器

相關文章
相關標籤/搜索