导航控制器在PopViewController上变黑

时间:2014-01-11 00:04:26

标签: ios objective-c uinavigationcontroller

我有一个应用程序,其中我有一个导航控制器,一个根视图,以及一个根通过segue推送到的视图。我没有做任何先进的事情,我没有多次调用segue,但是当我第二次弹出第二个视图控制器时,屏幕变黑,我不得不强制退出应用程序。总而言之,当我打开应用程序时,我按下一个按钮按下第二个视图,然后将其弹回到根视图,该视图工作正常,但是当我再次这样做时,整个屏幕变黑。有没有人以前经历过这个或知道如何解决它?

感谢您的帮助。

这是我用来显示控制器的代码

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

这是关闭第二个视图

    [self.navigationController popViewControllerAnimated:YES];

1 个答案:

答案 0 :(得分:2)

事实证明我实际上只在第二次执行了两次segue。问题是在根视图的子视图中使用NSNotificationCenter通知告诉root视图segue,但不注销观察者,以便在返回根视图时我再次订阅了通知。这意味着segue第二次被调用两次,因为通知被收到了两次。