0

我在自定义 segue 访问的应用程序中有一个辅助屏幕。我通过调用以编程方式展开 segue:

[self.navigationController popViewControllerAnimated:YES];

出于某种原因,它工作得很好,尽管 segue 是一种习惯。然而,当我在显示最近引入的 UISearchDisplayController 表时关闭控制器时,即使我将其隐藏在 viewWillAppear:animated: 回调中,导航栏也会留在主 viewController 上。 在此处输入图像描述 如果我在显示普通表格时将其关闭,则不会出现意外的导航栏。

因此,我尝试通过执行以下命令来实现解开 segue 的正确方法:

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

但程序崩溃抱怨它可能找不到segue:

*** 由于未捕获的异常 'NSInvalidArgumentException' 导致应用程序终止,原因:'Receiver () has no segue with identifier 'unwindToMainMenu''

当然,正如您在情节提要中看到的那样,绕组标识符很好地出现在: 在此处输入图像描述

在任何情况下,在显示 UISearchDisplayController 表时通常关闭控制器时,在后一种实现中,主控制器上也存在顶栏,因此问题似乎与展开转场无关。

不幸的是,Apple 教程程序没有提供手动展开segues,而其他教程则以我尝试实现它的方式呈现。我也没有找到有关连接到 searchDisplay 表的寄生导航栏的任何信息。我该如何解决我的问题?

谢谢,法布里齐奥

4

1 回答 1

0

我通过调用摆脱了虚假的导航栏:

self.searchDisplayController.active=NO;

然而,我仍然对 segue 崩溃的原因感到困惑。

于 2015-02-08T19:38:17.450 回答