【问题标题】:Can I trigger a segue from a UIBarButtonItem?我可以从 UIBarButtonItem 触发 segue 吗?
【发布时间】:2012-01-04 22:15:31
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: ios iphone uistoryboard uibarbuttonitem uistoryboardsegue


    【解决方案1】:

    你可以自己调用一个segue

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 是的,这也是我的问题。谢谢。 ;)
      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-01-15
          • 1970-01-01
          • 2013-04-06
          • 1970-01-01
          相关资源
          最近更新 更多