【问题标题】:Unwinding a segue on interface builder在界面构建器上展开 segue
【发布时间】:2014-06-20 00:39:27
【问题描述】:

我不是界面生成器的普通用户,但我必须在这个项目中使用它。

我正在使用情节提要,并设法创建了从一个视图控制器到另一个视图控制器的推送转场。让我们从 A 到 B 调用它。现在我正试图解除这种转场并从 B 回到 A。

我不需要在控制器之间传递任何信息。我只需要回去。

我有一个B的UIBarButtonItem导航栏,我关注了this tutorial

我这样做了:

A) 在 B 上创建此方法

- (IBAction)backToViewControllerOne:(UIStoryboardSegue *)segue {
        NSLog(@"from segue id: %@", segue.identifier);
}

B) 教程作者说:“将此方法链接到视图中您要从中展开的按钮。”但这无法做到,因为该方法有这个参数:(UIStoryboardSegue *)segue,Xcode 不允许按钮链接到这个方法,因为它希望方法有这个参数:(id)sender。如果我将参数更改为该参数,则无法链接触发的segue。

C) 将按钮链接到故事板上的绿色出口,选择1 上的方法。好的,做到了。

做了所有这些,然后单击按钮什么也没做。甚至没有触发动作。

我该如何解决这个难题?

【问题讨论】:

  • 该代码应该在您要展开的控制器中,而不是来自。
  • 有什么区别?它只是一个 nslog。
  • 不,它是一种具有特定签名的方法,它告诉情节提要返回到哪个控制器。
  • 啊,你是对的。终于成功了!!!!请将此评论转换为答案,以便我接受!谢谢!

标签: ios interface-builder uistoryboardsegue


【解决方案1】:

具有特定签名的方法、具有 UIStoryboardSegue 类型参数的 IBAction 需要位于您要展开的控制器中。当您按住 control 并拖动到它时,它(以及您可能在其他控制器中使用的任何其他类似方法)将显示在退出按钮(您正在从中展开的控制器的)中。

【讨论】:

    猜你喜欢
    • 2010-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多