3

我的情节提要的一个场景中有一个工具栏。工具栏包含一个 UIBarButtonItem。我希望按钮上的 Touch Down 触发对新 UIViewController 的 segue。如果我拖到 viewController 并从弹出窗口中选择“模态”,则不会触发 segue。永远不会调用“prepareForSegue”。在“引用 Storyboard Segues”下的实用程序面板中,按钮的名称旁边有一个感叹号,并在翻转时显示以下内容:

“null”不是有效的控制器包含密钥路径。

如果我从按钮拖动并从弹出窗口中选择“推送”,我不会收到此警告,但是 segue 再次不起作用,并且永远不会调用 prepareForSegue。

如果我将任一类型的 segue 连接到 UIButton(在工具栏之外),则 segue 在这两种情况下都可以正常工作。所以在我看来,当从工具栏项目触发时,Segues 不起作用。

谁能证实这一点或指出我做错了什么?

4

4 回答 4

20

您可以使用自己调用 segue

[self performSegueWithIdentifier: @"SegueToScene1" sender: self];
于 2011-12-09T22:33:57.193 回答
4

我认为您可能正在使用 aUIButton而不是UIBarButtonItem对象。我只是遇到了同样的问题,但我最初将一个标准按钮拖到工具栏上。当我改变它时,故事板转场按预期工作。

于 2012-06-11T11:19:16.800 回答
1

我在示例项目的 UIToolbar 中设置了从 UIBarButtonItem 触发的模态 segue,它工作正常。

于 2012-01-17T08:16:39.987 回答
0

通过使用推送,它与 UIBarButtonItem 一起工作。您是否在没有 prepareForSegue 的情况下进行了测试,我的意思是,只需将它们链接到 .storybar ?它将转到链接的 ViewController,没有一行代码的事件

于 2011-12-01T06:16:04.223 回答