2011-05-31 87 views
1

嗨 我正在使用以下方法回到之前的視圖。這是行得通的。但是我得到了兩個問題。popToViewController上的內存泄露

  1. 當我使用儀器時,此行提供內存泄漏。
  2. 當彈出到特定視圖後,當我按下左側導航按鈕(後退按鈕)時,只有該按鈕將消失,視圖將保留。

任何人都可以請讓我知道如何克服這些問題?

[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:1] animated:YES]; 

謝謝

回答

1

嘗試[self.navigationController popViewControllerAnimated:YES];如果你只是從視圖層次結構中刪除當前視圖,

+0

自由輸入 - 不確定的語法錯誤,但肯定對他們行 – theiOSDude 2011-05-31 11:53:47

+0

的OP詢問彈出(音滑稽:))視圖控制器。不推動。 – vikingosegundo 2011-05-31 12:02:28

+0

ahh對不起讀錯,只是[self.navigationController popViewControllerAnimated:YES];如果你想從視圖中刪除, – theiOSDude 2011-05-31 12:25:44

0

如果是你,你描述,只是想跳出僅僅是活躍的viewController,可以使用

- (UIViewController *)popViewControllerAnimated:(BOOL)animated 

文件here

如果這仍然有問題,您的viewController層次結構有問題。

+0

感謝您的評論。 這隻會回到當前的前一個視圖。在我的視圖層次結構中有4個視圖。我需要直接從視圖4返回到2。 – Chinthaka 2011-05-31 13:32:25

+0

好的。誤解。所以在這種情況下你使用正確的方法。但是你沒有通過正確的視圖控制器。否則會起作用。 – vikingosegundo 2011-05-31 13:38:58

+0

恐怕,該方法正在工作。但是我得到了內存泄漏,彈出視圖的導航欄按鈕不起作用。 我該如何克服這一點。 乾杯 – Chinthaka 2011-05-31 14:11:45

0

喜上述答案同意 嘗試這些方法仔細

  • [self.navigationController popToRootViewControllerAnimated:YES];

  • [self.navigationController popToViewController:(UIViewController中*) 動畫:(BOOL)];

與iOS5的工作。

  • [self.navigationController popViewControllerAnimated:(BOOL)];