因此,我有一個導航控制器,我在屏幕上按下了一個視圖,一個設置視圖,但是我想將它從層次結構中移除,所以當新的viewcontroller進入屏幕並按下後退按鈕時,它會將其返回主菜單。使用Xcode 4.2從navcontroller中刪除一個視圖,然後推新視圖?
我嘗試這樣做:
[self.navigationController popViewControllerAnimated:NO];
[self.navigationController pushViewController:tabBar animated:YES];
但該的viewController只是彈出和新的沒有出現。
請注意,'popViewControllerAnimated:'返回彈出的控制器 - 它不會解除分配,直到返回值獲取(自動)釋放,或者在ARC超出範圍之外。 (如果你喜歡,你可以將它粘貼到一個局部變量中,但是這不會讓你訪問導航控制器,因此,堅持引用它就不失爲一個好主意。)另外,'[[self retain] autorelease ]'在ARC下不可用,並且一旦self從該nab控制器彈出,保留self將不會將'self.navigationController'保存爲零。 – rickster 2012-03-27 06:50:25