2014-01-11 22 views
2

我有一個應用程序,其中有一個導航控制器,一個根視圖以及一個通過segue推入的視圖。我沒有做任何先進的事情,我也沒有多次致電賽格,但是當我第二次彈出第二個視圖控制器時,屏幕變黑,我不得不強制退出應用程序。總而言之,當我打開應用程序時,我按下了一個按鈕,將其推到第二個視圖,然後將它彈回到根視圖,該視圖工作正常,但是當我再次執行該操作時,整個屏幕變黑。有沒有人經歷過這個或知道我可以修復它?導航控制器在PopViewController上變黑色

感謝您的任何幫助。

這是我用來顯示控制器

[self performSegueWithIdentifier:@"showSecondView" sender:self]; 

的代碼,這是關閉第二視圖

[self.navigationController popViewControllerAnimated:YES]; 
+0

看來你是從堆棧中彈出所有的視圖控制器,並沒有視圖控制器顯示。一些代碼將有助於找到問題。 – danypata

+0

我添加了代碼。這是非常基本的,我已經使用過很多次,所以我不認爲這是必要的。我試過評論這些,所以我知道我不會多次調用它。 – harryisaac

+0

所以你正在做一推一彈?之後你有黑屏?或者你正在做推,彈出,推,流行,然後你有黑屏? – danypata

回答

2

原來我其實只是在第二執行SEGUE兩次時間雖然。問題是,在根視圖的子視圖中使用NSNotificationCenter通知來告訴根視圖繼續,但不註銷觀察者,以便當根視圖返回時,我再次訂閱通知。這意味着該賽鴿第二次被召回兩次,因爲通知已收到兩次。