当显示UISearchDisplay时,导航栏在展开segue时不会被解除

时间:2015-02-08 18:40:45

标签: ios uisearchdisplaycontroller unwind-segue

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

[self.navigationController popViewControllerAnimated:YES];

由于某种原因工作得很好,尽管segue是一个习惯的。 然而,当我在显示最近引入的UISearchDisplayController表时关闭Controller时,即使我将其隐藏在viewWillAppear:animated:callback中,导航栏也会保留在主viewController上。 enter image description here 如果在显示普通表时将其关闭,则不会显示意外的导航栏。

所以我尝试通过执行:

来实现解开segue的正确方法
[self performSegueWithIdentifier:@"unwindToMainMenu" sender:self];

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

  

***由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:'Receiver()没有带标识符的segue'unwindToMainMenu''

虽然卷绕标识符很好地存在于故事板中,如您所见: enter image description here

在任何情况下,在显示UISearchDisplayController表的情况下正常解除控制器时,顶部栏也出现在后一实现中的主控制器上,因此问题似乎没有连接到展开segue。

遗憾的是,Apple教程程序没有提供手动展开segues和其他教程以我试图实现它的方式呈现的东西。我没有找到任何关于连接到searchDisplay表的寄生导航栏的信息。 我该如何解决我的问题?

谢谢,Fabrizio

1 个答案:

答案 0 :(得分:0)

我通过调用:

摆脱了虚假的导航栏
self.searchDisplayController.active=NO;

然而,我仍然对为什么segue崩溃感到困惑。