2011-07-19 97 views
2

我在我的應用程序中使用UINavigationController。在「返回」時,我想跳過一個視圖。什麼我目前做的是這樣的:UINavigationController的問題

在我不希望看到我檢查,看它是否從後退按鈕點擊出現在視圖的viewDidAppear,如果是這樣我打電話:

[self.navigationController popViewControllerAnimated:YES]; 

但是會發生什麼情況是:

不需要的視圖和先前的視圖變形爲一個視圖(一個在另一個之上)。

更多的解釋:

不必要的觀點是第二個觀點,我希望去rootview: ,我使用的另一種代碼爲:

[self.navigationController popToRootViewControllerAnimation:YES] 

這種方法的問題是2: a)我仍然會在導航欄中看到一個後退按鈕,我不應該這樣做。 b)應該在那裏的工具欄項目不存在。 (工具欄本身就在那裏,不過!)

任何人都可以讓我知道我在這裏做錯了什麼嗎?謝謝。

+0

從哪裏發送此消息? – 2011-07-19 17:33:18

+0

@Vince:從viewDidAppear函數的第二個視圖... – Ahsan

回答

4

你可以試試這個:

int count = [self.navigationController.viewControllers count]; 
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:count-2]] 

記住計數數組以0所以只是不計 - X,考慮到這。

而且我敢肯定這會工作,但它不乾淨的外觀:

UINavigationController *navController = self.navigationController; 

[navController popViewControllerAnimated:NO]; 
[navController popViewControllerAnimated:YES]; 

希望有所幫助。

+1

+1'popToViewController:' – bshirley

+0

nope did not help :( – Ahsan

0

我需要什麼樣的才能來解答這個問題需要做的就是這個::

從3視圖和操作處理popToRootViewController

由於自定義後退按鈕功能。

相關問題