2012-05-16 65 views
2

我在導航堆棧中有5個視圖控制器(稱爲A,B,C,D,E)。 ViewController E位於堆棧的頂部。在ViewController E中點擊一個按鈕,我想移動到ViewController C.爲此,我使用下面的代碼。以正確的方式從導航堆棧中刪除視圖控制器

NSMutableArray *navigationarray = [NSMutableArray arrayWithArray:self.navigationController.viewControllers]; 
[navigationarray removeObjectAtIndex:4]; 
[navigationarray removeObjectAtIndex:3]; 
self.navigationController.viewControllers = navigationarray; 
[navigationarray release]; 

有沒有更好的方式來做到這一點,在那裏我可以檢查哪些正在從導航陣列

編輯刪除的viewController:在這種情況下,我能檢查視圖 - 控制是否被刪除的isKindOfClass類似於特定的視圖控制器類似

if ([[navigationarray objectAtIndex:4] isKindOfClass:[MyClass class]]) 

回答

3

從導航控制器中彈出視圖控制器是簡單的方法。這將刪除VC E和D.

[self.navigationController popToViewController:viewControllerC animated:YES]; 
+0

實測值這一個也有幫助..'[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:4]動畫:YES];' –

相關問題